gpt4 book ai didi

hadoop - 将数据从平面文件加载到配置单元表时获取空值

转载 作者:可可西里 更新时间:2023-11-01 14:09:58 25 4
gpt4 key购买 nike

我在将数据从平面文件加载到配置单元表时得到空值。
我的表结构是这样的:

hive> create table test_hive (id int,value string);

我的平面文件是这样的:输入.txt

1   a
2 b
3 c
4 d
5 e
6 F
7 G
8 j

当我运行以下命令时,我得到的是空值:

hive> LOAD DATA LOCAL INPATH '/home/hduser/input.txt' OVERWRITE INTO TABLE test_hive;
hive> select * from test_hive;
OK<br>
NULL NULL
NULL NULL
NULL NULL
NULL NULL
NULL NULL
NULL NULL
NULL NULL
NULL NULL

屏幕截图:

hive> create table test_hive (id int,value string);
OK
Time taken: 4.97 seconds
hive> show tables;
OK
test_hive
Time taken: 0.124 seconds
hive> LOAD DATA LOCAL INPATH '/home/hduser/input2.txt' OVERWRITE INTO TABLE test_hive;
Copying data from file:/home/hduser/input2.txt
Copying file: file:/home/hduser/input2.txt
Loading data to table default.test_hive
Deleted hdfs://hydhtc227141d:54310/app/hive/warehouse/test_hive
OK
Time taken: 0.572 seconds
hive> select * from test_hive;
OK
NULL NULL
NULL NULL
NULL NULL
NULL NULL
NULL NULL
NULL NULL
NULL NULL
NULL NULL
Time taken: 0.182 seconds

最佳答案

Hive 中的默认字段终止符是 ^A。您需要在创建表语句中明确提及您正在使用不同的字段分隔符。

与 Lorand Bending 在评论中指出的类似,使用:

CREATE TABLE test_hive(id INT, value STRING) 
ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ';

您不需要指定位置,因为您正在创建一个托管表(而不是外部表)。

关于hadoop - 将数据从平面文件加载到配置单元表时获取空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13379299/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com