无法以正确的形式在 Hive 表中加载数据
Posted
技术标签:
【中文标题】无法以正确的形式在 Hive 表中加载数据【英文标题】:Unable to load data in Hive table in the correct form 【发布时间】:2020-07-23 01:23:30 【问题描述】:嗨,我在 Hive 的外部表中有这个创建语句,但我的数据不一致 - 所以当我运行它时,我得到 Null?
create external table sampleartistdata(
artistid int,
artistname string
)
ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serde2.MultiDelimitSerDe'
WITH SERDEPROPERTIES ("field.delim"="# ")
STORED AS TEXTFILE
location '/user/users/sampledata/';
select * from sampleartistdata limit 3;
这是数据的样子:
1134999 06Crazy Life
10113088 Terfel, Bartoli- Mozart: Don
6826647 Bodenstandig 3000
10186265 Jota Quest e Ivete Sangalo
6828986 Toto_XX (1977
10236364 U.S Bombs -
1135000 artist formaly know as Mat
10299728 Kassierer - Musik für beide Ohren
10299744 Rahzel, RZA
结果:
sampleartistdata.artistid sampleartistdata.artistname
NULL NULL
NULL NULL
NULL NULL
【问题讨论】:
分享一些数据文件中的示例数据。 它已共享,我将其标记为 --1134999 06Crazy Life 10113088 Terfel, Bartoli- Mozart: Don 6826647 Bodenstandig 3000 10186265 Jota Quest e Ivete Sangalo 6828986 Toto_XX (1977 10236364 U. Mat 10299728 Kasierer - Musik für beide Ohren 10299744 Rahzel, RZA 【参考方案1】:我能够通过更改行分隔符的值来解决它,而不是使用 ROW FORMAT SERDE,我使用了
drop table sampleartistdata;
create external table sampleartistdata(
artistid int,
artistname string
) ROW format DELIMITED
FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\n'
STORED AS TEXTFILE
location '/user/jovyan/sampledata/';
【讨论】:
以上是关于无法以正确的形式在 Hive 表中加载数据的主要内容,如果未能解决你的问题,请参考以下文章
如果在同一个 AppDomain 中加载了多个版本,WPF 无法选择正确的 DLL
在搜索栏iOS swift3中加载带有条目的单元格时,图像无法正确显示