基于Hadoop部署实践对网站日志分析(大数据分析案例)(三)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 基于Hadoop部署实践对网站日志分析(大数据分析案例)



3.6 使用Sqoop将hive分析结果表导入mysql

3.6.1 创建mysql表

mysql -u root -p(启动MySQL,需要输入密码,不显示)


create database whw;(创建数据库)


创建一个表格


create table whw_logs_stat(logdate varchar(10) primary key,pv int,reguser int,ip int,jumper int);


image.png


3.6.2 将hive结果文件导入mysql

查看hive存放的表位置


show create table whw_2013_05_30;


image.png


使用sqoop将我们的hive里面的结果表导入到我们的MySQL里面,使用sqoop export –connect jdbc:mysql://localhost:3306/数据库 –username root -p –table MySQL里面的表名 –export-dir hive里面结果表的存储位置 -m 1 –input -fields-terminated -by ‘\001’


新建终端执行:


sqoop export --connect jdbc:mysql://localhost:3306/whw --username root -P --table whw_logs_stat --export-dir  /opt/hadoop/hive/warehouse/data.db/whw_2013_05_30  -m 1 --input-fields-terminated-by '\001'


image.png


sqoop export --connect jdbc:mysql://localhost:3306/whw --username root -P --table whw_logs_stat --export-dir  /opt/hadoop/hive/warehouse/data.db/whw_2013_05_31  -m 1 --input-fields-terminated-by '\001'


image.png


查看MySQL是否导入成功


select * from whw_logs_stat;


image.png


成功导入!


image.png



附加操作—增添色彩

本地Navicat连接

(我们用虚拟机里面的IP来连接我们的本地Navicat,这样有助于我们数据分析可视化!)


image.png


数据可视化(项目色彩一);

数据可视化可以直观的把我们的数据展现出来,作为领导者决策的重要参考意见


我采用pycharm的pymysql对虚拟机里面的MySQL进行远程连接,通过编程对数据可视化一键展示,不需要我们手动的添加数据,直接可以保存变量数据


image.png


简单的数据分析:很明显我们可以通过可视化的效果得知,2013-05-31的浏览量、注册用户、独立IP数这些正向指标都比较的好,都是高于2013-05-30的效果,所以我们可以在这一天对网站加大维护和投入相应的广告来盈利。


from pyecharts.globals import ThemeType
from pyecharts import options as opts
from pyecharts.charts import Bar
import pymysql
conn = pymysql.connect(
                host='192.168.190.135',
                user='root',
                password='2211',
                database='whw',
                port=3306,
                charset='utf8'
)
cur = conn.cursor()
sql = 'select logdate as `日期`,pv as `浏览量`,reguser as `注册用户数`,ip as `独立IP数量`,jumper as `跳出用户数` from `whw_logs_stat`;'
cur.execute(sql)
data = cur.fetchall()
print(data)
x_1=list(data[0][1:])
x_2=list(data[1][1:])
print(x_1)
print(x_2)
a=[]
for x in data:
    a.append(x[0])
a_1=a[0]
a_2=a[1]
print(a_1)
print(a_2)
conn.close()
data_0=['浏览量', '注册用户', '独立IP数', '跳出用户数']
c = (
    Bar({"theme": ThemeType.MACARONS})
    .add_xaxis(data_0)
    .add_yaxis(a_1, x_1)    #gap="0%"   这个可设置柱状图之间的距离
    .add_yaxis(a_2, x_2)    #gap="0%"   这个可设置柱状图之间的距离
    .set_global_opts(title_opts={"text": "某网站日志数据分析", "subtext": "柱状图"},     #该标题的颜色跟随主题
                     # 该标题默认为黑体显示,一般作为显示常态
                     # title_opts=opts.TitleOpts(title="标题")
                     xaxis_opts=opts.AxisOpts(
                         name='类别',
                         name_location='middle',
                         name_gap=30,  # 标签与轴线之间的距离,默认为20,最好不要设置20
                         name_textstyle_opts=opts.TextStyleOpts(
                             font_family='Times New Roman',
                             font_size=16  # 标签字体大小
                         )),
                     yaxis_opts=opts.AxisOpts(
                         name='数量',
                         name_location='middle',
                         name_gap=60,
                         name_textstyle_opts=opts.TextStyleOpts(
                             font_family='Times New Roman',
                             font_size=16
                             # font_weight='bolder',
                         )),
                    # datazoom_opts=opts.DataZoomOpts(type_="inside"),  #鼠标可以滑动控制
                     # toolbox_opts=opts.ToolboxOpts()  # 工具选项
                    # brush_opts=opts.BrushOpts()       #可以保存选择
    )
    .render("简单柱状图.html")
)
print("图表已生成!请查收!")


将数据导入到hbase(项目色彩二)

创建数据表和列族:create 'whw','data'

插入数据:


Put 'whw','1','data:londate,pv,reguser,jumper','2013-05-30,69857,28,10411,3749'

put 'whw','2','data:londate,pv,reguser,jumper','2013-05-31,502404,523,24635,8454'

参数说明:添加数据:put ‘表名称’,’行键’,’列族:列名1,列名2……’,‘数据1,数据2……’在这里我们就可以理解为是一个二维表,也就是Excel类似的,一行一列确定一个单元格


image.png


扫描整个列族:scan ‘表名称’, {COLUMN=>‘列族’}


Scan ‘whw’,{ COLUMN =>’data’}


image.png

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
14天前
|
数据采集 存储 机器学习/深度学习
数据的秘密:如何用大数据分析挖掘商业价值
数据的秘密:如何用大数据分析挖掘商业价值
46 9
|
2月前
|
机器学习/深度学习 数据可视化 大数据
机器学习与大数据分析的结合:智能决策的新引擎
机器学习与大数据分析的结合:智能决策的新引擎
205 15
|
2月前
|
存储 分布式计算 大数据
Flume+Hadoop:打造你的大数据处理流水线
本文介绍了如何使用Apache Flume采集日志数据并上传至Hadoop分布式文件系统(HDFS)。Flume是一个高可用、可靠的分布式系统,适用于大规模日志数据的采集和传输。文章详细描述了Flume的安装、配置及启动过程,并通过具体示例展示了如何将本地日志数据实时传输到HDFS中。同时,还提供了验证步骤,确保数据成功上传。最后,补充说明了使用文件模式作为channel以避免数据丢失的方法。
78 4
|
2月前
|
SQL 分布式计算 DataWorks
DataWorks产品测评|基于DataWorks和MaxCompute产品组合实现用户画像分析
本文介绍了如何使用DataWorks和MaxCompute产品组合实现用户画像分析。首先,通过阿里云官网开通DataWorks服务并创建资源组,接着创建MaxCompute项目和数据源。随后,利用DataWorks的数据集成和数据开发模块,将业务数据同步至MaxCompute,并通过ODPS SQL完成用户画像的数据加工,最终将结果写入`ads_user_info_1d`表。文章详细记录了每一步的操作过程,包括任务开发、运行、运维操作和资源释放,帮助读者顺利完成用户画像分析。此外,还指出了文档中的一些不一致之处,并提供了相应的解决方法。
|
2月前
|
分布式计算 DataWorks 搜索推荐
用户画像分析(MaxCompute简化版)
通过本教程,您可以了解如何使用DataWorks和MaxCompute产品组合进行数仓开发与分析,并通过案例体验DataWorks数据集成、数据开发和运维中心模块的相关能力。
|
3月前
|
机器学习/深度学习 存储 大数据
在大数据时代,高维数据处理成为难题,主成分分析(PCA)作为一种有效的数据降维技术,通过线性变换将数据投影到新的坐标系
在大数据时代,高维数据处理成为难题,主成分分析(PCA)作为一种有效的数据降维技术,通过线性变换将数据投影到新的坐标系,保留最大方差信息,实现数据压缩、去噪及可视化。本文详解PCA原理、步骤及其Python实现,探讨其在图像压缩、特征提取等领域的应用,并指出使用时的注意事项,旨在帮助读者掌握这一强大工具。
168 4
|
3月前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
885 31
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
|
2月前
|
监控 安全 Apache
什么是Apache日志?为什么Apache日志分析很重要?
Apache是全球广泛使用的Web服务器软件,支持超过30%的活跃网站。它通过接收和处理HTTP请求,与后端服务器通信,返回响应并记录日志,确保网页请求的快速准确处理。Apache日志分为访问日志和错误日志,对提升用户体验、保障安全及优化性能至关重要。EventLog Analyzer等工具可有效管理和分析这些日志,增强Web服务的安全性和可靠性。
|
3天前
|
存储 SQL 关系型数据库
MySQL日志详解——日志分类、二进制日志bin log、回滚日志undo log、重做日志redo log
MySQL日志详解——日志分类、二进制日志bin log、回滚日志undo log、重做日志redo log、原理、写入过程;binlog与redolog区别、update语句的执行流程、两阶段提交、主从复制、三种日志的使用场景;查询日志、慢查询日志、错误日志等其他几类日志
MySQL日志详解——日志分类、二进制日志bin log、回滚日志undo log、重做日志redo log
|
4月前
|
XML JSON Java
Logback 与 log4j2 性能对比:谁才是日志框架的性能王者?
【10月更文挑战第5天】在Java开发中,日志框架是不可或缺的工具,它们帮助我们记录系统运行时的信息、警告和错误,对于开发人员来说至关重要。在众多日志框架中,Logback和log4j2以其卓越的性能和丰富的功能脱颖而出,成为开发者们的首选。本文将深入探讨Logback与log4j2在性能方面的对比,通过详细的分析和实例,帮助大家理解两者之间的性能差异,以便在实际项目中做出更明智的选择。
451 3