1
|
Kevin Babcock · 技术社区 · 15 年前 |
![]() |
1
3
你的问题到底是什么? 您不知道如何将表拆分为n个相等的部分以避免倾斜吗? 您可以使用分析函数percentile_disc()来实现这一点。 这里有一个n=100的SQL+示例,我承认它不是很复杂,但它可以完成这项工作。
这将在文件parts.lst中输出:
现在可以运行script parts.lst来获取分区值。每个分区最初将包含1%的数据。 script parts.lst将输出:
|
![]() |
2
0
除了soundex值之外,分区键还在搜索表吗?或者只是通过Soundex专栏搜索? 如果您只是想在分区之间实现数据的均匀分布,您是否考虑过使用哈希分区而不是范围分区?假设您为分区数选择2的幂,这将使分区之间的数据分布相当均匀。 |
![]() |
3
0
跟我说话! 你能告诉我为什么要对这个表进行分区吗?听起来像是一个OLTP表,可能不需要是分区。我们不想仅仅说我们是被划分的。告诉我您正试图通过对这个表进行分区来完成什么,我可以帮助您选择一个正确的分区方案。分区不等于更快的查询。在某些情况下,它实际上会导致查询速度变慢。 我在上面看到了您的一些额外想法,我不认为您需要对表进行分区。如果您的查询要在整个分区上执行聚合,那么您可能需要分区。如果您将拥有数亿行数据,那么您可能需要分区来帮助DBA维护。如果您只想让查询快速运行,那么主键索引就足够了。请告诉我 只需在所需列上创建一个全局索引。 |
![]() |
Mister Babu · 将n写成k个数之和的方法数 7 年前 |
![]() |
tabtimm · 按相对比例缩放圆尺寸维恩图 7 年前 |
![]() |
tabtimm · 如何在维恩图中显示原始值和百分比 7 年前 |
![]() |
kris · HDFS与HIVE分区 7 年前 |
|
iSi · 通过分区控制Impala中的数据位置 11 年前 |
![]() |
Valrok · 通过脚本验证系统分区对齐 11 年前 |