我正在使用microsoft。我有以下格式的数据。
容器/文件夹/年份/月份/日期/file1.csv
容器/文件夹/年份/月份/日期/file2.csv。。.and等。
我使用以下查询创建了一个具有分区的外部表
'drop table partition;
CREATE EXTERNAL TABLE partition (id string, event timestamp and so on)
PARTITIONED BY (year INT, month INT, day INT)
ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
STORED AS TEXTFILE'获得查询提交成功并创建外部表的输出。
然后给出Alter命令来添加分区。
'ALTER TABLE partition ADD PARTITION(year=2014, month=1, day=1)
LOCATION'wasb://$containerName@$storageAccountName.blob.core.windows.net/containerName/folderName/2014/01/01';'即使在这里也没有发现任何错误。
然后,当我给出一个简单的select语句时,我无法从数据文件中检索任何内容。
'select * from partition where year=2014 AND month=01 AND day=01 limit 10;'也尝试过
'select * from partition limit 10;'select语句都没有返回任何内容。无法弄清楚到底出了什么问题。有什么建议吗?
发布于 2014-05-05 15:21:35
如果您的数据文件存储在blob存储的Uri中,如下所示:
https://<account>.blob.core.windows.net/<container>/folderName/2014/01/01那么您的wasb: uri需要是:
wasb://<container>@<account>.blob.core.windows.net/folderName/2014/01/01或者,如果这是群集的默认存储帐户/容器,则只需使用:
wasb:///folderName/2014/01/01您的ALTER :上面的额外containerName可能是通过指向有效为空的路径抛出的。
https://stackoverflow.com/questions/23463854
复制相似问题