【问题标题】:Spark: partioning parquet by multiple values' columnSpark:按多个值的列分区镶木地板
【发布时间】:2018-12-23 19:03:39
【问题描述】:

在使用 parquet 存储用户列表的 Spark 应用程序中。每个用户都有一个电话号码。

我需要通过电话进行高效搜索,最好是通过电话进行分区。文档说一个密钥应该有超过 10 000 的价值,在我的情况下这可能是数百万。

是否还有任何方法/或任何技巧/或某些最先进的按电话号码进行分区?例如对电话号码进行哈希处理或仅按第一个数字进行分区?

谢谢

【问题讨论】:

    标签: apache-spark optimization parquet partition


    【解决方案1】:

    如果您按第一位数字对手机号码进行分区,则数据将出现偏差。因为大部分手机没有同位或同位开头。

    印度示例,手机号。一般以9, 8 and, 7和60% of mobile start with 9, about 30-35% with 8开头

    基于手机号最后一位的分区会给你10个分区(0-9),没有数据偏斜。

    【讨论】:

      猜你喜欢
      • 2016-07-07
      • 2017-11-11
      • 2018-10-27
      • 2016-07-04
      • 1970-01-01
      • 1970-01-01
      • 2018-11-22
      • 1970-01-01
      • 2021-05-27
      相关资源
      最近更新 更多