将hdfs文件导入hive表

本文介绍了如何将HDFS上经过lzo压缩的seqFile导入到Hive外部分区表。首先创建匹配seqFile格式的Hive表,然后使用ALTER TABLE命令添加分区并指定HDFS文件路径。加载seqFile时,Hive默认忽略key,根据指定分隔符解析value。若需要自定义解析方式,可配置mapred.mapper.class等参数。
摘要由CSDN通过智能技术生成

 

hive sql对hdfs的操作最终都会转化为mr任务,下面介绍如何将已经存在的hdfs文件“导入”hive表,很简单

 条件及要求:

1)hdfs文件为经过lzo压缩的seqFile

2)seqFile数据样例

    127.0.0.1      ae8186613401633040361974|1340163304040|0.1|hsf.qa.test|yuanfeng|test_07_01
     其中key是hostIp, value为一条日志,格式为:traceid|time|rpcid|appname|querykey|msg

3)hive表是外在分区表

 

步骤1. 建立hive表

CREATE EXTERNAL TABLE biz_eagleeye (traceId STRING, time STRING, rpcId STRING,
appName STRING, queryKey STRING, msg STRING, kvMap STRING)
PARTITIONED BY(pt STRING)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\|'
STORED AS SEQUENCEFILE;

其中EXTERNAL和PARTITIONED关键字指明表为外表和分区表,STORED AS SEQUENCEFILE是专门指定加载seqFile数据源的,如果是普通文本可换成TEXTFILE

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值