首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >按年份、月份和日期格式在单元格中进行外部分区

按年份、月份和日期格式在单元格中进行外部分区
EN

Stack Overflow用户
提问于 2014-05-05 02:19:24
回答 1查看 1.5K关注 0票数 0

我正在使用microsoft。我有以下格式的数据。

容器/文件夹/年份/月份/日期/file1.csv

容器/文件夹/年份/月份/日期/file2.csv。。.and等。

我使用以下查询创建了一个具有分区的外部表

代码语言:javascript
运行
复制
'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命令来添加分区。

代码语言:javascript
运行
复制
'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语句时,我无法从数据文件中检索任何内容。

代码语言:javascript
运行
复制
'select * from partition where year=2014 AND month=01 AND day=01 limit 10;'

也尝试过

代码语言:javascript
运行
复制
'select * from partition limit 10;'

select语句都没有返回任何内容。无法弄清楚到底出了什么问题。有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-05 15:21:35

如果您的数据文件存储在blob存储的Uri中,如下所示:

代码语言:javascript
运行
复制
https://<account>.blob.core.windows.net/<container>/folderName/2014/01/01

那么您的wasb: uri需要是:

代码语言:javascript
运行
复制
wasb://<container>@<account>.blob.core.windows.net/folderName/2014/01/01

或者,如果这是群集的默认存储帐户/容器,则只需使用:

代码语言:javascript
运行
复制
wasb:///folderName/2014/01/01

您的ALTER :上面的额外containerName可能是通过指向有效为空的路径抛出的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23463854

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档