首页 > 解决方案 > Hive - 外部表的字符串值显示为 NULL

问题描述

我在 S3 存储桶中有 JSON 文件。文件结构将是,

s3://bucket/myfiles/dt=2019060101/file1.JSON
s3://bucket/myfiles/dt=2019060101/file2.JSON
s3://bucket/myfiles/dt=2019060102/file1.JSON
s3://bucket/myfiles/dt=2019060102/file2.JSON

dt=yyyymmddHH

如果我在上面创建一个外部表,s3://bucket/myfiles/dt=2019060102/那么我可以看到数据。

但是,如果我使用创建同一个表PARTITION (dt string),然后添加分区,它就不起作用。

ALTER TABE my_tbl ADD PARTITION (dt='2019060101') location 's3://bucket/myfiles/dt=20190601/';

即使数据类型是字符串,我也能看到具有数值的数据。所有具有任何字符串值的列都显示为 NULL。

有人可以帮助解决这个问题吗?我在用着EMR (v5.16) and hive 2.3.3

标签: amazon-web-servicesamazon-s3hiveamazon-emr

解决方案


推荐阅读