hive经典的入门流程操作

本文介绍了一种利用Hive处理登录数据的具体流程,包括建表、格式化原始日志、数据入库及分析等步骤。通过合理的表结构设计与分区策略,显著提升了数据处理效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

处理流程

建表

那么我们首先要在hive里建表,建表语句如下:

复制代码
CREATE TABLE login (
  uid  STRING,
  ip  STRING
)
PARTITIONED BY (dt STRING)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE;
复制代码

 

其实表名是login,字段之间以,隔开,存储是TEXT,其次还以dt这个字段作为分区。

创建成功之后,会看到hdfs上创建了/user/hive/warehouse/login这个目录。

格式化原始日志

将每天的每分钟的原始日志,转换成以下文件格式

123,17.6.2.6
112,11.3.6.2
………..

 

根据文件大小,合并文件,例如合并为24个文件。

入库

格式完毕,就可以把数据入库到hive了,假设今天是执行命令

LOAD DATA LOCAL  INPATH '/data/login/20120713/*' OVERWRITE INTO TABLE login PARTITION (dt='20120713');

执行成功会,转换过的文件会上传到hdfs的/user/hive/warehouse/login/dt=20120713这个目录里。

分析

在hive执行以下语句

select count(distinct uid) from login where dt=’20120713’;

使用dt这个分区条件查询,就可以避免hive去查询其他分区的文件,减少IO操作,这个是hive分区很重要的特性,也是以天为单位,作为login表分区的重要意义。

执行完毕后,就可以在命令里出现结果,一般通过管道执行hive shell命令,读取管道的内容,把结果入库到mysql里就完成了分析了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值