Hive构建日搜索引擎日志数据分析系统

1.数据预处理

根据自己或者学校系统预制的数据

使用less sogou.txt可查看

wc -l sogou.txt 能够查看总行数

2.数据扩展部分

我的数据位置存放在 /data/bigfiles

点击q退出

将一个文件的内容传递到另一个目录文件下

原数据在 /data/bigfiles ->传递 到/data/workspace

复制代码
awk -F '\t' '{print $0 "\t" substr($1,1,4) "\t" substr($1,5,2) "\t" substr($1,7,2) "\t" substr($1,9,2)}' /data/bigfiles/sub_sogou.txt>/data/workspace/sub_sogou-ext.txt

继续使用less命令可以查看数据扩展结果

3.数据加载

将数据加载到HDFS

hdfs dfs -mkdir -p /sogou/20111230

hdfs dfs -put /data/workspace/sub_sogou.txt /sogou/20111230

hdfs dfs -mkdir -p /sogou_ext/20111230

hdfs dfs -put /data/workspace/sub_sogou.txt /sogou_ext/20111230

基于Hive构建日志数据的数据仓库

要记得启动hive

接下来的操作均在hive客户端完成

1.基本操作

查看数据库的命令:show databases;

创建数据库sogou:create database if not exists sogou;

接下来使用数据库:use sogoul

查看表名:show tables;

创建外部表sogou_22106128用于加载sogou.txt的数据

复制代码
CREATE EXTERNAL TABLE sogou.sogou_22106128 (
    ts STRING,
    uid STRING,
    keyword STRING,
    rank INT,
    order_num INT, 
    url STRING
)
COMMENT 'This is the sogou search data of one day'
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
STORED AS TEXTFILE
LOCATION '/sogou/22106128';

desc sogou_22106128可查看相关字段和类型

2.创建分区(按照年、月、日、小时)

创建四个字段数据的外部表

复制代码
CREATE EXTERNAL TABLE sogou.sogou_ext_22106128 (
    ts STRING,
    uid STRING,
    keyword STRING,
    rank INT,
    order1 INT, 
    url STRING,
    year INT,
    month INT,
    day INT,
    hour INT
)
COMMENT 'this is the sogou search data of extend'
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t' 
STORED AS TEXTFILE
LOCATION '/sogou_ext/22106128'; 

创建好后创建分区表:

复制代码
CREATE EXTERNAL TABLE sogou.sogou_partition (
    ts STRING,
    uid STRING,
    keyword STRING,
    rank INT,
    order1 INT, 
    url STRING
)
PARTITIONED BY (year INT, month INT, day INT, hour INT)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'  
STORED AS TEXTFILE
LOCATION '/path/to/sogou_partition'; 

最后向分区表sogou_partition中载入数据:

set hive.exec.dynamic.partition.mode=nonstrict; //开启动态分区模式为非严格的

这部分参考的老师的代码:

相关推荐
ruxshui10 小时前
Hadoop 生产运维实战手册
大数据·运维·hadoop
泡干脆面就番茄11 小时前
Hive窗口函数:从原理到三大面试题
大数据·数据仓库·hive·hadoop
程序员梅雨11 小时前
Hive面试总结
hive·hadoop·面试
注塑机数据采集联网1 天前
注塑机数据采集网关读取注塑机工艺/SPC数据计算原理
大数据·网络·数据仓库·物联网·智能路由器·制造
ha_lydms3 天前
Datetime Functions(日期时间函数)
大数据·hadoop·阿里云·spark·数据处理·dataworks·maxcompute
ha_lydms3 天前
Bitwise Functions(位运算函数)
大数据·hadoop·阿里云·spark·数据处理·dataworks·maxcompute
ha_lydms3 天前
St Functions(空间函数)
大数据·hadoop·阿里云·spark·数据处理·dataworks·maxcompute
成都蜀味缘餐饮技术培训学校3 天前
油炸串串技术培训实战指南,核心食材选购与预处理标准
数据仓库·经验分享·笔记·课程设计·微信公众平台
ha_lydms3 天前
Table Functions(表函数)
大数据·hadoop·阿里云·spark·数据处理·dataworks·maxcompute
ha_lydms3 天前
Json Functions(JSON 函数)
大数据·hadoop·spark·json·数据处理·dataworks·maxcompute