【发布时间】:2018-04-05 12:09:13
【问题描述】:
我正在创建 hive 外部表 ORC(位于 S3 上的 ORC 文件)。
命令
CREATE EXTERNAL TABLE Table1 (Id INT, Name STRING) STORED AS ORC LOCATION 's3://bucket_name'
运行查询后:
Select * from Table1;
结果是:
+-------------------------------------+---------------------------------------+
| Table1.id | Table1.name |
+-------------------------------------+---------------------------------------+
| NULL | NULL |
| NULL | NULL |
| NULL | NULL |
| NULL | NULL |
| NULL | NULL |
| NULL | NULL |
| NULL | NULL |
| NULL | NULL |
| NULL | NULL |
| NULL | NULL |
+-------------------------------------+---------------------------------------+
有趣的是,返回的记录数为 10,它是正确的,但所有记录都是 NULL。 怎么了,为什么查询只返回 NULL? 我在 AWS 上使用 EMR 实例。我应该配置/检查以支持 Hive 的 ORC 格式吗?
【问题讨论】:
-
您的文件是 ORC 格式的吗?请发布您的输入文件示例。
-
是的,我正在使用 ORC 文件。我试图从 s3 和 hdfs 创建一个外部表,但得到了相同的结果。这是文件的附件 [link] drive.google.com/file/d/0B3MYgurAigDMdm1ESkZYWm9Zdms/…