我是新来的,所以如果我的问题是noobies,请温柔一点:-)
我使用下面的配置单元语句创建数据并将其加载到表中。
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
从select返回的数据如下所示:
USER.A-GovDocs-f83c6ca3-9585-4c66-b9b0-f4c3bd57ccf4 Chanko PERSON 6 41086 NULL NULL NULL NULL
编辑:在“entitie\u extract\u by \u 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个额外的栏目是从哪里来的吗?
谨致问候,
马蒂恩
2条答案
按热度按时间bfnvny8b1#
这里不需要创建外部表,所以不需要提及位置。从查询中删除位置,则可以得到正确的值。
huus2vyu2#
你应该更换任何
\n
可能在同一列的字符串数据中。那些额外的\n
可能正在创建额外的列。