0
点赞
收藏
分享

微信扫一扫

hive读取直接放到hdfs的数据,将目录加载到分区表中 *

科牛 2022-07-12 阅读 69

使用场景

在生产上,一般对数据清洗之后直接放到HDFS上,然后再将目录加载到分区表中;

准备数据

order_created.txt
用 tab分割

10703007267488  2014-05-01  06:01:12.334+01
10101043505096 2014-05-01 07:28:12.342+01
10103043509747 2014-05-01 07:50:12.33+01
10103043501575 2014-05-01 09:27:12.33+01
10104043514061 2014-05-01 09:03:12.324+01

order_created.txt 存放位置

[root@zjj101 soft]# pwd
/root/soft
[root@zjj101 soft]# ls
data docker hadoop-2.7.2 hive-1.2.1 myconf order_created.txt tmp
[root@zjj101 soft]#

在hdfs上创建准备放数据的目录

准备放到这里:
/user/hive/warehouse/order_partition/

hive读取直接放到hdfs的数据,将目录加载到分区表中 *_hive
shell

[root@zjj101 soft]# hadoop fs -mkdir /user/hive/warehouse/order_partition/event_time=2014-05-02
[root@zjj101 soft]#

已经生成
hive读取直接放到hdfs的数据,将目录加载到分区表中 *_数据_02

将数据上传到hdfs上面

shell:

[root@zjj101 soft]# hadoop fs -put /root/soft/order_created.txt /user/hive/warehouse/order_partition/event_time=2014-05-02
[root@zjj101 soft]#

查看数据是否上传成功

hive读取直接放到hdfs的数据,将目录加载到分区表中 *_大数据_03
此时查看已经有了

关联元数据再查询

sql

-- 刚刚给数据放到hdfs上面了,但是元数据没有,所有需要修复一下再执行查询语句,否则的话是查询不到的
msck repair table order_partition;

-- 执行查询语句
select *
from order_partition
where event_time = '2014-05-02';

hive读取直接放到hdfs的数据,将目录加载到分区表中 *_hdfs_04


举报

相关推荐

0 条评论