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

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

相关推荐
向夏威夷 梦断明暄12 小时前
基于Tez引擎的 Hive SQL 性能优化
hive·sql·性能优化
这个DBA有点耶1 天前
交易型数据库是什么?OLTP核心能力与2026选型指南
数据库·数据仓库·sql·database·数据库架构·olap·dba
RestCloud2 天前
Informatica迁移国产ETL完整实施指南:ETLCloud自动化平滑替换方案
数据仓库·etl·etlcloud·数据传输·数据集成工具·informatica·国产化替代
德昂信息dataondemand2 天前
全量还是增量?聊聊数仓ETL中的数据同步策略
数据仓库·etl
Database_Cool_3 天前
云数据仓库开通指南:阿里云 AnalyticDB MySQL 10 分钟从 0 到分析实战教程
数据仓库·mysql·阿里云
曾阿伦5 天前
Windows 下运行 Hadoop 并部署到 AWS EMR 指南
hadoop·windows·aws
罗政5 天前
基于AI工作流的多渠道销售数据仓库清洗统计实践
数据仓库
极光代码工作室5 天前
基于Spark的日志监控与分析平台
大数据·hadoop·python·spark·数据可视化
迈巴赫车主6 天前
湖仓一体(Data Lakehouse)简介
大数据·数据仓库·数据湖·湖仓一体