【发布时间】:2016-12-13 23:56:01
【问题描述】:
我正在尝试在 hive 中创建一个内部(托管)表来存储我的增量日志数据。表格是这样的:
CREATE TABLE logs (foo INT, bar STRING, created_date TIMESTAMP)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '<=>'
STORED AS TEXTFILE;
我需要定期将数据加载到此表中。
LOAD DATA INPATH '/user/foo/data/logs' INTO TABLE logs;
但是数据没有正确插入到表中。分隔符可能有问题。找不到原因。
示例日志行:
120<=>abcdefg<=>2016-01-01 12:14:11
在select * from logs; 我明白了,
120 =>abcdefg NULL
第一个属性很好,第二个包含分隔符的一部分,但是因为它是被插入的字符串,第三个将是空的,因为它需要日期时间。
任何人都可以就如何提供自定义分隔符和成功加载数据提供帮助。
【问题讨论】:
-
是终结符还是分隔符?
-
多个字段之间的分隔符。正如在创建查询“ROW FORMAT DELIMITED FIELDS TERMINATED BY ''”中提到的那样
标签: hadoop hive loaddata bigdata