【发布时间】:2014-09-07 08:05:59
【问题描述】:
我正在使用 Amazon EMR。 我在 s3 中有一些日志数据,都在同一个存储桶中,但在不同的子目录下 喜欢:
"s3://bucketname/2014/08/01/abc/file1.bz"
"s3://bucketname/2014/08/01/abc/file2.bz"
"s3://bucketname/2014/08/01/xyz/file1.bz"
"s3://bucketname/2014/08/01/xyz/file3.bz"
我正在使用:
Set hive.mapred.supports.subdirectories=true;
Set mapred.input.dir.recursive=true;
尝试从“s3://bucketname/2014/08/”加载所有数据时:
CREATE EXTERNAL TABLE table1(id string, at string,
custom struct<param1:string, param2:string>)
ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
LOCATION 's3://bucketname/2014/08/';
作为回报,我得到:
OK
Time taken: 0.169 seconds
尝试查询表时:
SELECT * FROM table1 LIMIT 10;
我明白了:
Failed with exception java.io.IOException:java.io.IOException: Not a file: s3://bucketname/2014/08/01
有人知道如何解决这个问题吗?
【问题讨论】:
标签: hadoop amazon-web-services amazon-s3 hive emr