2016-10-27 80 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。