|
|
1
2
我最终使用了中描述的方法 this AWS example 和 this blog article 。 具体来说,我按照最初列出的方式设置了S3结构,只是去掉了hive表示法(这可以保留,但我认为在这种情况下,投影日期格式会变得更加混乱):
通过此操作,我将表属性设置为使用分区投影,设置如下:
在我的表模式中,我将JSON更新为以下内容:
在进行了这些更新之后,我现在可以使用pilcorow提出的更简单的分区结构来查询数据:
这里的重点是,我能够保留子文件夹嵌套日期结构(我更喜欢用于非Athena数据采集目的),但仍然为我的Athena查询保留简单的SQL查询WHERE语句,同时使用高效的分区投影。 还要注意的是,我相信pilcorow在分析我最初的年/月/日SQL查询效率低下时是正确的,因为我发现当切换到与单日5分钟间隔相关的查询的新结构时,速度提高了66%。 |
|
|
2
1
我看到两种选择。 首先理想地, 重新分配 使用单个“YYYYMMDD”属性分区,而不是嵌套分区。那是 a good practice for more natural querying ,例如,“…WHERE ymd_partition BETWEEN'START_ymd'AND'END_ymd'”,没有所有这些布尔扭曲。 否则,继续目前的方法,它有一个可行的想法,但为了 效率 。
我们希望根据输入范围应用三种场景中的一种(相同年/月、相同年、不同年);然而,正如所写的,我们根据所有记录评估每个场景的每个条件,而不考虑输入范围。(输入范围为
解决方案不会很好。
我可能漏掉了一个括号。
您可以添加
|
|
|
3
0
我想你也可以使用
|
|
Victor Wong · 如何迭代列A以有条件地对列B求和? 1 年前 |
|
|
StripyTiger · 从配置单元中的列表检索元素 2 年前 |
|
|
mfcss · SQL:使用年/月/日分区查询某个时间段的数据 2 年前 |
|
|
MOMO · 配置单元重命名具有分区的表中的列 3 年前 |
|
|
Minnu · json结构类型加载到配置单元 3 年前 |
|
|
MattRgx · 配置单元中的Regexp将一列拆分为3列 4 年前 |
|
|
mishalhaneef · 如何更新蜂箱颤振数据 4 年前 |