我有要加载到配置单元表中的文本文件。
数据格式如下
Id|^|SegmId|^|geographyId|^|Sequence|^|Subtracted|^|FFAction|!|
4295875876|^|3|^|110170|^|1|^|False|^|I|!|
4295876137|^|2|^|110170|^|1|^|False|^|I|!|
4295876137|^|8|^|100219|^|1|^|False|^|I|!|
我想在配置单元中为这种数据创建一个表。
你能建议如何为这个创建表吗?
这是我尝试过的,但得到null(也请向我们建议列的数据类型):
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' ;
3条答案
按热度按时间68bkxrlz1#
这对我有用
行格式serde'org.apache.hadoop.hive.contrib.serde2.multidivideserde'带有serdeproperty(“field.delim”=“| ^ |”)tblproperty
w51jfk4q2#
配置单元不支持多个字符作为分隔符,
你可以在这里找到解决办法,
解决方案
关于数据类型,除了第一列id之外,您所做的都是正确的。存在的值大于int的范围。它可以是bigint。
oaxa6hgo3#
您的字段似乎以
'|^|'
你的电话被'|!|\n'