【发布时间】:2013-01-30 15:26:02
【问题描述】:
我是 Hive 新手,所以如果我的问题是菜鸟,请保持温和 :-)
我使用以下 hive 语句来创建数据并将其加载到表中。
CREATE TABLE entities_extract (doc_id STRING, name STRING, type STRING, len STRING, offset STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\n'
STORED AS TEXTFILE
LOCATION '/research/45924/hive/entities_extract';
LOAD DATA LOCAL INPATH '/home/researcher/hadoop-runnables/files/entitie_extract_by_doc.txt' OVERWRITE INTO TABLE entities_extract;
到目前为止一切顺利,执行此脚本时没有错误。奇怪的是,当我在表格上执行 select * from 时,我的结果显示了 4 个额外的空值列
输入的数据如下所示:
USER.A-GovDocs-f83c6ca3-9585-4c66-b9b0-f4c3bd57ccf4 Chanko PERSON 6 41086
从选择返回的数据如下所示:
USER.A-GovDocs-f83c6ca3-9585-4c66-b9b0-f4c3bd57ccf4 Chanko PERSON 6 41086 NULL NULL NULL NULL
编辑: 下面是“entitie_extract_by_doc.txt”的一小部分
USER.A-GovDocs-f83c6ca3-9585-4c66-b9b0-f4c3bd57ccf4 Berkowitz PERSON 9 385
USER.A-GovDocs-f83c6ca3-9585-4c66-b9b0-f4c3bd57ccf4 Marotolli PERSON 939420
USER.A-GovDocs-f83c6ca3-9585-4c66-b9b0-f4c3bd57ccf4 Corzatt PERSON 7 39772
USER.A-GovDocs-f83c6ca3-9585-4c66-b9b0-f4c3bd57ccf4 Berkowitz PERSON 9 40314
USER.A-GovDocs-f83c6ca3-9585-4c66-b9b0-f4c3bd57ccf4 Corzatt PERSON 7 40584
USER.A-GovDocs-f83c6ca3-9585-4c66-b9b0-f4c3bd57ccf4 Berkowitz PERSON 9 40840
USER.A-GovDocs-f83c6ca3-9585-4c66-b9b0-f4c3bd57ccf4 Rich PERSON 4 41038
USER.A-GovDocs-f83c6ca3-9585-4c66-b9b0-f4c3bd57ccf4 Lea PERSON 3 41044
USER.A-GovDocs-f83c6ca3-9585-4c66-b9b0-f4c3bd57ccf4 Anthony PERSON 7 41049
USER.A-GovDocs-f83c6ca3-9585-4c66-b9b0-f4c3bd57ccf4 Bill PERSON 4 41062
USER.A-GovDocs-f83c6ca3-9585-4c66-b9b0-f4c3bd57ccf4 Nelson PERSON 6 41067
USER.A-GovDocs-f83c6ca3-9585-4c66-b9b0-f4c3bd57ccf4 Barbara PERSON 7 41078
USER.A-GovDocs-f83c6ca3-9585-4c66-b9b0-f4c3bd57ccf4 Chanko PERSON 6 41086
我已经查看了我的源数据,看看是否有 4 个额外的选项卡,但事实并非如此..
这里有人知道这 4 个额外的列是从哪里来的吗?
亲切的问候,
马丁
【问题讨论】:
-
你能提供一个小样本 entitie_extract_by_doc.txt 吗?
-
提供了 entitie_extract_by_doc.txt 的一小部分。在我看来,在加载 txt 文件期间,整行都被放入 doc_id 中,而不是分成五列。
-
我让它工作了,似乎 os x 写标签的方式与 Debian 不同..dump!