Hive外部表

x33g5p2x  于2021-03-14 发布在 Hive  
字(1.6k)|赞(0)|评价(0)|浏览(385)

[warning] 外部表:如果数据本身就是存储在HDFS上,我们是否可以使用Hive来管理呢?我们使用Hive的外部表就可以轻松实现这个需求,但是外部表管理数据必须在创建表的同时就指定外部数据的位置。理论上只要数据表格式和数据格式都是标准化,且一一对应,不管数据存储在HDFS的什么位置,都可以使用Hive进行管理。

[success] 实验环境:完全分布式--bigdata1

[info] (1)创建一个电商日志文件

# 进入 /data/software目录
cd /data/software

# 创建电商日志文件 innerTable.log
vi innerTable.log

# 写入以下内容
1   TK-20200606098063	忠信友联安防	-35.00	 现结 	 财务审核 	2020-06-06 09:40:36	  
2	TK-20200605191989	诚达电脑	-241.00	 月结 	 财务审核 	2020-06-05 19:00:57	  
3	TK-20200605158473	智凡科技	-180.00	 现结 	 财务审核 	2020-06-05 15:41:22	  
4	TK-20200605101022	李生	-257.00	 现结 	 财务审核 	2020-06-05 10:32:26	  
5	TK-20200604185303	朱武达	-1140.00	 现结 	 审核通过 	2020-06-04 18:38:17	
6	TK-20200604172688	创智电脑	-627.00	 月结 	 审核通过 	2020-06-04 17:50:35	
7	TK-20200604152246	先安安防	-572.00	 现结 	 审核通过 	2020-06-04 15:22:56	
8	TK-20200604141635	和平朗盛	-2480.00	 月结 	 审核通过 	2020-06-04 14:59:11	
9	TK-20200604102417	长青藤	-365.00	 月结 	 审核通过 	2020-06-04 10:20:01	
10	TK-20200604092869	河源客户	-310	 现结 	 审核通过 	2020-06-04 09:28:38	
11	TK-20200603182813	灯塔易展电脑	0.00	 现结 	 审核通过 	2020-06-03 18:51:40	
12	TK-20200603162972	民族中学	-3625	 月结 	 审核通过 	2020-06-03 16:39:17	
13	TK-20200603148551	兴旺	-716.00	 现结 	 审核通过 	2020-06-03 14:07:09	
14	TK-20200603104403	同行曾林涛	-195.00	 月结 	 审核通过 	2020-06-03 10:36:23	
15	TK-20200603105333	同行曾林涛	-130	 月结 	 审核通过 	2020-06-03 10:35:30

:-:

(2)把日志文件innerTable.log推送到HDFS

# 创建HDFS的上传目录innerTableHdfs
hadoop fs -mkdir /innerTableHdfs

# 把innerTable.log推送上去HDFS的innerTableHdfs
hadoop fs -put /data/software/innerTable.log /innerTableHdfs

[info] (3)创建外部表并加载数据

# 登录hive
hive

# 创建外部表并加载数据
create external table innerTable_log (
num string, 
code string, 
name string,
fee string, 
type string,
status string,
time string
)          
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
LOCATION '/innerTableHdfs';

# 查询结果
select * from innerTable_log;

[info] 查看外部表详细信息

desc formatted innerTable_log;

相关文章

微信公众号

最新文章

更多