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; //开启动态分区模式为非严格的

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

相关推荐
B站计算机毕业设计超人6 天前
计算机毕业设计Django+Vue.js高考推荐系统 高考可视化 大数据毕业设计(源码+LW文档+PPT+详细讲解)
大数据·vue.js·hadoop·django·毕业设计·课程设计·推荐算法
B站计算机毕业设计超人6 天前
计算机毕业设计Django+Vue.js音乐推荐系统 音乐可视化 大数据毕业设计 (源码+文档+PPT+讲解)
大数据·vue.js·hadoop·python·spark·django·课程设计
十月南城6 天前
数据湖技术对比——Iceberg、Hudi、Delta的表格格式与维护策略
大数据·数据库·数据仓库·hive·hadoop·spark
王九思6 天前
Hive Thrift Server 介绍
数据仓库·hive·hadoop
土拨鼠烧电路6 天前
笔记11:数据中台:不是数据仓库,是业务能力复用的引擎
数据仓库·笔记
Asher05096 天前
Hive核心知识:从基础到实战全解析
数据仓库·hive·hadoop
xhaoDream6 天前
Hive3.1.3 配置 Tez 引擎
大数据·hive·tez
yumgpkpm6 天前
AI视频生成:Wan 2.2(阿里通义万相)在华为昇腾下的部署?
人工智能·hadoop·elasticsearch·zookeeper·flink·kafka·cloudera
Asher05096 天前
Hadoop核心技术与实战指南
大数据·hadoop·分布式