All Projects → Maicius → Weblogsanalysissystem

Maicius / Weblogsanalysissystem

A big data platform for analyzing web access logs

Programming Languages

java
68154 projects - #9 most used programming language
scala
5932 projects

Projects that are alternatives of or similar to Weblogsanalysissystem

aaocp
一个对用户行为日志进行分析的大数据项目
Stars: ✭ 53 (+43.24%)
Mutual labels:  hadoop, hbase, echarts
Bigdataguide
大数据学习,从零开始学习大数据,包含大数据学习各阶段学习视频、面试资料
Stars: ✭ 817 (+2108.11%)
Mutual labels:  spark, hadoop, hbase
swordfish
Open-source distribute workflow schedule tools, also support streaming task.
Stars: ✭ 35 (-5.41%)
Mutual labels:  spark, hadoop, hbase
God Of Bigdata
专注大数据学习面试,大数据成神之路开启。Flink/Spark/Hadoop/Hbase/Hive...
Stars: ✭ 6,008 (+16137.84%)
Mutual labels:  spark, hadoop, hbase
Wedatasphere
WeDataSphere is a financial level one-stop open-source suitcase for big data platforms. Currently the source code of Scriptis and Linkis has already been released to the open-source community. WeDataSphere, Big Data Made Easy!
Stars: ✭ 372 (+905.41%)
Mutual labels:  spark, hadoop, hbase
Gaffer
A large-scale entity and relation database supporting aggregation of properties
Stars: ✭ 1,642 (+4337.84%)
Mutual labels:  spark, hadoop, hbase
Devops Python Tools
80+ DevOps & Data CLI Tools - AWS, GCP, GCF Python Cloud Function, Log Anonymizer, Spark, Hadoop, HBase, Hive, Impala, Linux, Docker, Spark Data Converters & Validators (Avro/Parquet/JSON/CSV/INI/XML/YAML), Travis CI, AWS CloudFormation, Elasticsearch, Solr etc.
Stars: ✭ 406 (+997.3%)
Mutual labels:  spark, hadoop, hbase
yuzhouwan
Code Library for My Blog
Stars: ✭ 39 (+5.41%)
Mutual labels:  spark, hadoop, hbase
Dockerfiles
50+ DockerHub public images for Docker & Kubernetes - Hadoop, Kafka, ZooKeeper, HBase, Cassandra, Solr, SolrCloud, Presto, Apache Drill, Nifi, Spark, Consul, Riak, TeamCity and DevOps tools built on the major Linux distros: Alpine, CentOS, Debian, Fedora, Ubuntu
Stars: ✭ 847 (+2189.19%)
Mutual labels:  spark, hadoop, hbase
bigdata-fun
A complete (distributed) BigData stack, running in containers
Stars: ✭ 14 (-62.16%)
Mutual labels:  spark, hadoop, hbase
Bigdata Notes
大数据入门指南 ⭐
Stars: ✭ 10,991 (+29605.41%)
Mutual labels:  spark, hadoop, hbase
Learning Spark
零基础学习spark,大数据学习
Stars: ✭ 37 (+0%)
Mutual labels:  spark, hadoop, hbase
Repository
个人学习知识库涉及到数据仓库建模、实时计算、大数据、Java、算法等。
Stars: ✭ 92 (+148.65%)
Mutual labels:  spark, hadoop, hbase
Bigdata docker
Big Data Ecosystem Docker
Stars: ✭ 161 (+335.14%)
Mutual labels:  spark, hadoop, hbase
Hadoop cookbook
Cookbook to install Hadoop 2.0+ using Chef
Stars: ✭ 82 (+121.62%)
Mutual labels:  spark, hadoop, hbase
BigData-News
基于Spark2.2新闻网大数据实时系统项目
Stars: ✭ 36 (-2.7%)
Mutual labels:  spark, hadoop, hbase
Szt Bigdata
深圳地铁大数据客流分析系统🚇🚄🌟
Stars: ✭ 826 (+2132.43%)
Mutual labels:  spark, hadoop, hbase
Bigdata Interview
🎯 🌟[大数据面试题]分享自己在网络上收集的大数据相关的面试题以及自己的答案总结.目前包含Hadoop/Hive/Spark/Flink/Hbase/Kafka/Zookeeper框架的面试题知识总结
Stars: ✭ 857 (+2216.22%)
Mutual labels:  spark, hadoop, hbase
Data Science Ipython Notebooks
Data science Python notebooks: Deep learning (TensorFlow, Theano, Caffe, Keras), scikit-learn, Kaggle, big data (Spark, Hadoop MapReduce, HDFS), matplotlib, pandas, NumPy, SciPy, Python essentials, AWS, and various command lines.
Stars: ✭ 22,048 (+59489.19%)
Mutual labels:  spark, hadoop
Interview Questions Collection
按知识领域整理面试题,包括C++、Java、Hadoop、机器学习等
Stars: ✭ 21 (-43.24%)
Mutual labels:  spark, hadoop

基于HBase的网站日志数据分析系统

系统说明

1. 数据库设计

LogData

  • 该表用于存储经数据清洗、转化后的数据
  • 数据库类型: HBase
  • 表结构
Rowkey prop
rowkey IP / BYTES / URL / DATES / METHOD / FYDM / BYTES
  • RowKey 结构设计说明

RowKey 分为 日期 + 网站代码后三位 + 六位数ID
各部分说明如下:

字段 解释 例子
日期 日志文件的产生日期(纯数字,不含空格和-) 20170808
公司代码 公司代码后三位 200
ID 从100000开始的六位数字,用于唯一的标明数据并对齐 100001

完整例子
201708082001000000 表示代号为200点公司在2017-08-08产生的一次请求

  • 建表语句

create "LogData", "prop"

LogAna

  • 该表用于存储分析之后的数据

  • 数据库类型: HBase

  • 表结构

    RowKey IP URL BYTES MTHOD_STATE REQ
    rowkey IPSumVal IPTotalNum IPList URLList MaxURL BytesSecList BytesHourList / TotalBytes MethodList StateList ReqHourList ReqSecList ReqSum
  • 字段说明

    字段 解释 例子
    IPTotalNum IP总数,不包含重复的 100 表示当天有100个IP访问网站
    IPSumVal IP总数,包含重复 100表示有100个IP访问网站,IP可重复
    IPList IP和对应访问量的排行,结构为 由mutable.Map[String, Int]转变来的JSON文件 {"190.1.1.1": 1000} 表示190.1.1.1的IP共在网站产生1000次请求)
    URLList 被请求次数最多的10个URL,结构为Json {"test.aj":100, "test2.aj":90, ...}
    MaxURL 请求次数最多的URL(现在前端已经放弃使用这字段) {"test.aj": 100}
    BytesSecList 统计每秒内产生的流量,单位为Byte,但是前端展示时转化为MB {"2017-08-08 01:00:00":9000, "2017-08-08 01:00:00": 500, ...}
    BytesHourList 统计一天内每小时内产生的流量,单位为Byte,但是前端展示时转化为MB {"08":9000, "09": 500, ...}, 08 表示 8点到9点内产生的流量
    TotalBytes 一天内产生的总流量大小,单位为Byte,但是前端展示时转化为MB 3000, 表示当天产生 3000b bytes的流量
    MethodList 出现过的请求方法统计 {"POST":3446,"OPTIONS":5,"HEAD":4}
    StateList 出现过的请求状态中级 {"501":8,"302":801,"404":1,"200":14738,"400":2,"405":4}
    ReqHourList 按小时统计请求次数 {"15":2350,"09":3503,"00":690,"11":1903}
    ReqSecList 按秒统计请求次数 {"2017-08-08 10:44:08":1,"2017-08-08 09:45:05":4,"2017-08-08 10:06:58":4}
    ReqSum 一天内总请求次数 1000,表示当天内共有1000次请求
  • RowKey 结构设计说明

RowKey 分为 日期 + 公司代码后三位 各部分说明如下:

	字段 |  解释 | 例子
	 ----| ----- |----
 	日期 |日志文件的产生日期(纯数字,不含空格和-) | 20170808
 	公司代码| 公司代码后三位 |200, 需要注意的是000表示当天所有网站数据
 
> example:
20170808200 表示天津高院在2017-08-08的所有数据
20170808000 表示所有法院在2017-08-08点所有数据
  • 建表语句

create "LogAna", "IP", "URL", "BYTES", "METHOD_STATE", "REQ"

2. 项目代码描述

  • 本项目分为三个子项目, 包括数据采集、数据存储和展示、数据离线分析

数据采集

  • 工程名:CollectTomcatLogs

  • 功能说明:

    收集指定路径下的tomcat日志
    重命名文件之后上传到HDFS或FTP服务器
    保存日志,记录是否上传成功

  • 部署说明: 部署在各个需要采集日志的服务器上,在 my.properties 里指定公司代码和日志路径

  • 配置管理: maven

  • 主要技术: Java FTPClient, HDFS

  • 测试用例说明: 主要用于测试重命名后的文件是否正常

  • 文件重命名: 在localhost_XXXXX.txt文件前加上法院代码,以此来区分各公司数据

数据存储和展示

  • 工程名: RestoreData

  • 功能说明:

    数据预处理: 包括数据解析、清洗和转化
    数据存储: 将转化后的数据保存在一个List中,批量插入HBase数据库
    前端展示:展示分析得到的数据
    数据查询: 根据各种输入条件查询对应的数据

  • 开发环境:

    JDK 8
    Hadoop 2.7
    Hbase 1.2 tomcat 8

  • 部署说明:在 my.properties 里配置好各项数据,注意JDK、Hadoop的版本兼容

  • 配置管理: maven

  • 主要技术:Spring MVC / Hadoop / JSP

  • 测试用例说明:

    HbaseBatchInsertTest.java: 用于测试批量插入
    HbaseConnectionTest.java: 用于测试Hbase连接是否正常
    ParseLogTest.java: 用于测试日志解析
    ListBean.java: 打印所有的bean,用于应付@Autowried失败的情况

  • 前端部分:

    ####代码部分 index.jsp: 默认加载页面,加载完成后会请求数据,展示前一天所有网站数据
    index.js: 用于处理index.jsp中的各种请求和数据解析


    queryData.jsp: 用于查询各家网站数据,输入为日期 + 网站,支持多选
    queryData.js: 用于处理queryData.jsp中的各种请求和数据解析(待完成)


    dataGrid.jsp: 以表格的形式展示数据(待完成)


    myCharts.js: 使用echarts绘制各种图表(注意dom的初始化在外部完成)
    inputCheck.js: 检查输入是否合法


    mystyle.css: 定制各类样式 ####第三方库 Bootstrap: 主要是用其格栅系统
    Bootstrap-select: 多选框的实现
    BootstrapDatepickr: 日期输入
    echarts: 绘制各类图表
    jQuery: 框架
    font-awesome: 各类小图标

数据离线分析

  • 工程名: ScalaReadAndWrite

  • 功能说明:

    离线分析各类数据,共13个指标,详情见数据库表 LogAna 设计

  • 开发环境:

    Scala 2.11
    Spark 1.52
    Hadoop 2.7

  • 特别说明:

    spark 中全局变量只有两种实现方式,广播变量或累加器,本项目使用累加器
    自定义的累加器的时候非常一定要注意输入输出类型一定要正确 一定要实现全部六个重载函数
    一个累加器只能传递一种变量,这个变量可以是复杂的对象
    不这样做的话累加器会失效!

  • 部署说明:暂无

  • 配置管理:maven

  • 主要技术:Spark

  • 项目结构说明:

    Accumulator:累加器,包含各种自定义的累加器
    analysis: 主要分析代码 DAO: 解析实体类,并存入到HBase
    Entity: 两个实体类
    util: 各种工具类

    3. 项目截图:

    • Hbase数据库截图
      image

    • 数据展示界面
      image

    • 数据展示界面
      image

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].