【问题标题】:Hive: json SerDe file returns "NULL" in external tableHive:json SerDe 文件在外部表中返回“NULL”
【发布时间】:2017-08-08 02:02:41
【问题描述】:

我在 Amazon 上有一个 DynamoDB,其中包含一堆带有相关数据(用户、位置等)的推文。我通过管道导出了这个并得到了一个 json 文件。 将其导出到 csv 不是一个好主意,因为许多推文在文本字段中都包含逗号。作为 Hive 新手,我至少知道要加载 json 文件,我需要某种 SerDe。

这就是我创建表格的方式:

create external table tablename (
id string,
created_at string,
followers_count string,
geo string,
location string,
polarity string,
screen_name string,
sentiment string,
subjectivity string,
tweet string,
username string)
ROW FORMAT SERDE 'org.apache.hive.hcatalog.data.JsonSerDe'
SAVE AS TEXTFILE ;

我没有收到任何错误,但后来我收到了:

load data inpath '/user/exam'
overwrite into table tablename;

(这是存储json文件的地方)

当我执行“select * from tablename limit 5;”时,一切都为 NULL:

hive> select * from wcd.tablename limit 5;
OK
{   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL
{   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL
{   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL
{   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL
{   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL

如果有人想查看相关文件,请访问:

http://www.vaughn-s.net/hadoop

任何帮助将不胜感激!

【问题讨论】:

  • 你能举一些你的数据的例子吗?
  • 是的,我的帖子底部有一个指向整个文件的链接;不过,如果您愿意,我可以发布代码片段。

标签: json hadoop hive amazon-dynamodb


【解决方案1】:

原因是您的 json 不遵循您的表定义

{"id":{"s":"894643473017561088"},"sentiment":{"s":"neutral"},"subjectivity":{"s":"0.0"},"username":{"s":"Jessi"},"geo":{"s":"None"},"location":{"s":"Valley of the sun☀ï¸"},"polarity":{"s":"0.0"},"tweet":{"s":"b\"RT @bannerite: Donald Trump's lies have consequences. We're seeing them now | Charlotte Observer #DemForce https""},"created_at":{"s":"Mon Aug 07 19:36:40
+0000 2017"},"screen_name":{"s":"JessiAtkins06"},"followers_count":{"s":"19"}}

尽量把每一列都放一个s字符串的结构,例如

 id struct<s:string>

【讨论】:

  • 我们不能使用 WITH SERDEPROPERTIES 并提及 json 字段和 hive 表字段的映射来代替更改数据类型吗?
猜你喜欢
  • 2020-12-05
  • 2017-06-22
  • 2014-08-01
  • 2017-05-13
  • 1970-01-01
  • 1970-01-01
  • 2010-11-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多