数据不与z顺序索引三角洲湖

数据时自动跳过信息收集到三角洲表中写入数据。三角洲湖上砖利用这些信息(最大和最小值)在查询时提供更快的查询。你不需要配置数据跳过;这个功能被激活时适用。然而,其有效性取决于数据的布局。为达到最佳效果,适用z值

默认情况下三角洲湖砖收集统计数据的第一个32列上定义在你的表模式。你可以改变这个值使用表属性delta.dataSkippingNumIndexedCols。添加更多的列收集统计信息将添加更多的开销你写文件。

收集统计信息在长字符串是一项昂贵的操作。为了避免在长字符串收集统计信息,您可以配置表属性delta.dataSkippingNumIndexedCols为了避免列包含长字符串或移动列包含一列大于长字符串delta.dataSkippingNumIndexedCols使用改变改变。看到ALTER TABLE

为了收集统计信息,每个字段在一个嵌套列被认为是一个单独的列。

z轴次序是什么?

z值是一个技术把相关信息在同一组文件。这个三角洲湖co-locality自动使用砖data-skipping算法。这种行为大大减少了三角洲湖在砖的数据量需要阅读。z值数据,在指定的列顺序ZORDER通过条款:

优化事件在哪里日期> =current_timestamp()- - - - - -时间间隔1一天ZORDER通过(eventType)

如果你期望一个列中常用查询谓词,如果这一列具有较高的基数(即大量不同值),然后使用ZORDER通过

您可以指定多个列ZORDER通过作为一个以逗号分隔的列表。然而,当地的有效性下降与每个额外的列。z值列上,没有统计数据是无效和浪费资源。这是因为数据不需要column-local统计如min,马克斯和计数。您可以配置在某些重新排序的列的列统计信息收集模式,或者你可以增加列的数量收集统计信息。

请注意

  • z值是不是幂等但旨在成为一个增量操作。z值的时间是不能保证减少多个运行。然而,如果没有新的数据只是z值添加到一个分区,该分区的另一个Z-ordering不会有任何效果。

  • z值的目标是生产均衡数据文件对元组的数量,但不一定是磁盘上的数据大小。两种措施通常是相关的,但可以有情况并非如此,导致斜在优化任务的时期。

    例如,如果你ZORDER通过日期和你最近的记录都是更广泛(例如长数组或字符串值)的过去,预计优化工作的任务持续时间会倾斜,以及由此产生的文件大小。然而,这是只有一个问题优化命令本身;它不应该有任何的负面影响在随后的查询。