在hive中分析数据然后将数据导出到mysql中练习

模块需求一:

hourly分析:统计一天24个小时中,每个小时内的活跃用户数、会话个数、会话长度

针对模块需求一,在mysql中创建对应结果表,使用sqoop将结果导出到mysql结果表中。--sqoop语句及mysql的结果表截图!!

----- 先创建外部映射hbase表中相关的列:

hive中:

CREATE EXTERNAL TABLE event_logs(

rowkey string,

pl string,

en string,

u_ud string,

u_sd string,

s_time string

)

STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'

WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,info:pl,info:en,info:u_ud,info:u_sd,info:s_time")

TBLPROPERTIES ("hbase.table.name" = "event_logs");

 在hive中分析数据然后将数据导出到mysql中练习_第1张图片

下面:新建hdfs上的目录,然后etl操作,清洗数据后到hbase中。

 

 

然后在hive中查询:

 在hive中分析数据然后将数据导出到mysql中练习_第2张图片

可以看到u_ud u_sd显示有具体的值。

--创建临时表:

create table stats_hourly_tmp1(

pl string,

en string,

u_ud string,

u_sd string,

s_time bigint,

hour int,

date string

) ;

对每条日志增加小时和日期字段

 在hive中分析数据然后将数据导出到mysql中练习_第3张图片

显示运行成功:

 在hive中分析数据然后将数据导出到mysql中练习_第4张图片

查看有数据。

 在hive中分析数据然后将数据导出到mysql中练习_第5张图片

--下面创建统计active users的结果表

 在hive中分析数据然后将数据导出到mysql中练习_第6张图片

然后添加数据:

 

然后查看数据:

 在hive中分析数据然后将数据导出到mysql中练习_第7张图片

-----然后统计sessions的结果表;

 在hive中分析数据然后将数据导出到mysql中练习_第8张图片

然后添加数据:

 在hive中分析数据然后将数据导出到mysql中练习_第9张图片

然后查看数据:

 在hive中分析数据然后将数据导出到mysql中练习_第10张图片

---下面就是统计会话长度的结果表

然后添加入数据;

 在hive中分析数据然后将数据导出到mysql中练习_第11张图片

查看结果:

 在hive中分析数据然后将数据导出到mysql中练习_第12张图片

-------然后下面就是将统计出的结果,使用sqoop导入到mysql中:

create table stats_hourly_active(

pl varchar(20),

times varchar(20),

hours int(10),

user_num int(10)

);

 在hive中分析数据然后将数据导出到mysql中练习_第13张图片

create table stats_hourly_session(

pl varchar(20),

times varchar(20),

hours int(10),

sess_num int(10)

);

在hive中分析数据然后将数据导出到mysql中练习_第14张图片 

create table stats_hourly_session_length(

pl varchar(20),

times varchar(20),  

hours int(10),

sess_len int(10)

);

 在hive中分析数据然后将数据导出到mysql中练习_第15张图片

下面就是在sqoop下面进行执行从hdfs导出到mysql中;

------------------------------

bin/sqoop export \

--connect jdbc:mysql://com.hadoop:3306/mydb \

--username root \

--password 000 \

--table stats_hourly_active \

--fields-terminated-by "\001" \

--export-dir '/user/hive/warehouse/stats_hourly_active'

 在hive中分析数据然后将数据导出到mysql中练习_第16张图片

bin/sqoop export \

--connect jdbc:mysql://com.hadoop:3306/mydb \

--username root \

--password 000 \

--table stats_hourly_session \

--fields-terminated-by "\001" \

--export-dir '/user/hive/warehouse/stats_hourly_session'

 在hive中分析数据然后将数据导出到mysql中练习_第17张图片

bin/sqoop export \

--connect jdbc:mysql://com.hadoop:3306/mydb \

--username root \

--password 000 \

--table stats_hourly_session_length \

--fields-terminated-by "\001" \

--export-dir '/user/hive/warehouse/stats_hourly_session_length'

 在hive中分析数据然后将数据导出到mysql中练习_第18张图片

下面在mysql中查看:

select * from stats_hourly_active;

 在hive中分析数据然后将数据导出到mysql中练习_第19张图片

select * from stats_hourly_session;

 在hive中分析数据然后将数据导出到mysql中练习_第20张图片

select * from stats_hourly_session_length;

 在hive中分析数据然后将数据导出到mysql中练习_第21张图片

 

你可能感兴趣的:(大数据---Hadoop,hive,sqoop)