2016-10-27 54 views
0

我有我想要加载到Hive表格中的文本文件。如何为特殊格式数据创建Hive表格

格式的数据是像下面

Id|^|SegmId|^|geographyId|^|Sequence|^|Subtracted|^|FFAction|!| 
4295875876|^|3|^|110170|^|1|^|False|^|I|!| 
4295876137|^|2|^|110170|^|1|^|False|^|I|!| 
4295876137|^|8|^|100219|^|1|^|False|^|I|!| 

我想创建一个蜂房表这类数据。

你能否建议如何为此创建表?

这是我曾尝试,但得到空(也请建议我们列中的数据类型):

create table if not exists GeographicSegment 
(
    Id int, 
    SegId int, 
    geographyId int, 
    Sequence int, 
    Subtracted String, 
    FFAction String 
) row format delimited fields terminated by '|!|' LINES TERMINATED BY '\n' ; 

回答

0

这很适合我

行格式SERDE 'org.apache.hadoop.hive.contrib.serde2.MultiDelimitSerDe' WITH SERDEPROPERTIES( “field.delim”= “|^|”)tblproperties

0

看来你的字段由'|^|'终止,且线由'|!|\n'

终止
+0

是确切但是行终止确实接受这个 – SUDARSHAN

0

蜂房不支持多个字符作为分隔符,

,你可以在这里找到处理它的方式,

Solution

关于数据类型,你正在做的事情是正确的,除了第一列ID 。目前的价值超过INT的范围。它可以是BIGINT。