All Projects → nielsbasjes → Yauaa

nielsbasjes / Yauaa

Licence: apache-2.0
Yet Another UserAgent Analyzer

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Yauaa

logparser
Easy parsing of Apache HTTPD and NGINX access logs with Java, Hadoop, Hive, Pig, Flink, Beam, Storm, Drill, ...
Stars: ✭ 139 (-70.55%)
Mutual labels:  parse, hive, flink
Hadoopcryptoledger
Hadoop Crypto Ledger - Analyzing CryptoLedgers, such as Bitcoin Blockchain, on Big Data platforms, such as Hadoop/Spark/Flink/Hive
Stars: ✭ 126 (-73.31%)
Mutual labels:  flink, hive
Repository
个人学习知识库涉及到数据仓库建模、实时计算、大数据、Java、算法等。
Stars: ✭ 92 (-80.51%)
Mutual labels:  flink, hive
God Of Bigdata
专注大数据学习面试,大数据成神之路开启。Flink/Spark/Hadoop/Hbase/Hive...
Stars: ✭ 6,008 (+1172.88%)
Mutual labels:  flink, hive
Szt Bigdata
深圳地铁大数据客流分析系统🚇🚄🌟
Stars: ✭ 826 (+75%)
Mutual labels:  flink, hive
Hops Examples
Examples for Deep Learning/Feature Store/Spark/Flink/Hive/Kafka jobs and Jupyter notebooks on Hops
Stars: ✭ 84 (-82.2%)
Mutual labels:  flink, hive
dpkb
大数据相关内容汇总,包括分布式存储引擎、分布式计算引擎、数仓建设等。关键词:Hadoop、HBase、ES、Kudu、Hive、Presto、Spark、Flink、Kylin、ClickHouse
Stars: ✭ 123 (-73.94%)
Mutual labels:  hive, flink
Dataspherestudio
DataSphereStudio is a one stop data application development& management portal, covering scenarios including data exchange, desensitization/cleansing, analysis/mining, quality measurement, visualization, and task scheduling.
Stars: ✭ 1,195 (+153.18%)
Mutual labels:  flink, hive
dockerfiles
Multi docker container images for main Big Data Tools. (Hadoop, Spark, Kafka, HBase, Cassandra, Zookeeper, Zeppelin, Drill, Flink, Hive, Hue, Mesos, ... )
Stars: ✭ 29 (-93.86%)
Mutual labels:  hive, flink
bigdata-doc
大数据学习笔记,学习路线,技术案例整理。
Stars: ✭ 37 (-92.16%)
Mutual labels:  hive, flink
Bigdataguide
大数据学习,从零开始学习大数据,包含大数据学习各阶段学习视频、面试资料
Stars: ✭ 817 (+73.09%)
Mutual labels:  flink, hive
litemall-dw
基于开源Litemall电商项目的大数据项目,包含前端埋点(openresty+lua)、后端埋点;数据仓库(五层)、实时计算和用户画像。大数据平台采用CDH6.3.2(已使用vagrant+ansible脚本化),同时也包含了Azkaban的workflow。
Stars: ✭ 36 (-92.37%)
Mutual labels:  hive, flink
Quicksql
A Flexible, Fast, Federated(3F) SQL Analysis Middleware for Multiple Data Sources
Stars: ✭ 1,821 (+285.81%)
Mutual labels:  flink, hive
TiBigData
TiDB connectors for Flink/Hive/Presto
Stars: ✭ 192 (-59.32%)
Mutual labels:  hive, flink
hadoopoffice
HadoopOffice - Analyze Office documents using the Hadoop ecosystem (Spark/Flink/Hive)
Stars: ✭ 56 (-88.14%)
Mutual labels:  hive, flink
Bdp Dataplatform
大数据生态解决方案数据平台:基于大数据、数据平台、微服务、机器学习、商城、自动化运维、DevOps、容器部署平台、数据平台采集、数据平台存储、数据平台计算、数据平台开发、数据平台应用搭建的大数据解决方案。
Stars: ✭ 456 (-3.39%)
Mutual labels:  flink, hive
Gpxsee
GPS log file viewer and analyzer with support for GPX, TCX, KML, FIT, IGC, NMEA, SLF, SML, LOC, GPI, GeoJSON and OziExplorer files.
Stars: ✭ 406 (-13.98%)
Mutual labels:  analyzer
Probablepeople
👪 a python library for parsing unstructured western names into name components.
Stars: ✭ 427 (-9.53%)
Mutual labels:  parse
Args
Toolkit for building command line interfaces
Stars: ✭ 399 (-15.47%)
Mutual labels:  parse
Guider
Performance Analyzer
Stars: ✭ 393 (-16.74%)
Mutual labels:  analyzer

Yauaa: Yet Another UserAgent Analyzer

Travis Build status Coverage Status Quality Gate License Maven Central Docker Hub If this project has business value for you then don't hesitate to support me with a small donation.

This is a java library that tries to parse and analyze the useragent string and extract as many relevant attributes as possible.

The full documentation can be found here https://yauaa.basjes.nl

HIGH Profile release notes:

Version 5.18

  • Correctly classify the elements in the Google Chrome (and Chromium based MS Edge) User-Agent string that are incorrect when the "Freeze User-Agent request header" flag is enabled.
  • New UDF for Elastic Search. I have done limited (local single node) testing. Please report anything you find so I can fix it.

Blog post

A bit more background about this useragent parser can be found in this blog which I wrote about it: https://techlab.bol.com/making-sense-user-agent-string/

Example output

As an example the useragent of my phone:

Mozilla/5.0 (Linux; Android 7.0; Nexus 6 Build/NBD90Z) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.124 Mobile Safari/537.36

is converted into this set of fields:

Field name Value
Device Class Phone
Device Name Google Nexus 6
Device Brand Google
Operating System Class Mobile
Operating System Name Android
Operating System Version 7.0
Operating System Name Version Android 7.0
Operating System Version Build NBD90Z
Layout Engine Class Browser
Layout Engine Name Blink
Layout Engine Version 53.0
Layout Engine Version Major 53
Layout Engine Name Version Blink 53.0
Layout Engine Name Version Major Blink 53
Agent Class Browser
Agent Name Chrome
Agent Version 53.0.2785.124
Agent Version Major 53
Agent Name Version Chrome 53.0.2785.124
Agent Name Version Major Chrome 53

Try it!

You can try it online with your own browser here: https://try.yauaa.basjes.nl/.

NOTES

  1. This runs under a "Free quota" on Google AppEngine. If this quota is exceeded then it will simply become unavailable for that day.

  2. After a while of inactivity the instance is terminated so the first page may take 15-30 seconds to load.

  3. If you really like this then run it on your local systems. It's much faster that way. A ready to run docker image that can be used in both local mode and also in Kubernetes: (more info).

    With docker installed do

    docker pull nielsbasjes/yauaa
    docker run -p8080:8080 nielsbasjes/yauaa
    

    and then open

    http://localhost:8080/
    

Related projects

Stefano Balzarotti is putting a lot of effort into porting Yauaa to run in .NET standard.

You can track his efforts here on Github: Yauaa .NET standard and download his releases via Nuget.

Donations

If this project has business value for you then don't hesitate to support me with a small donation.

Donations via PayPal

License

Yet Another UserAgent Analyzer
Copyright (C) 2013-2021 Niels Basjes

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].