Spark:通过多个值列对实木复合地板进行分区

时间:2018-07-16 09:11:45

标签: apache-spark optimization parquet partition

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

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

是否有任何方法/或任何技巧/或某些最新技术来按电话号码划分?例如,对电话号码进行哈希处理还是仅对前几个数字进行分区?

Thx

1 个答案:

答案 0 :(得分:0)

如果您将手机号码按第一位划分,则数据将倾斜。因为大多数手机没有以相同数字或公用数字开头。

印度的示例,手机号。通常以9, 8 and, 760% of mobile start with 9, about 30-35% with 8

开头

基于手机号码的最后一位进行的分区将为您提供10个分区(0-9),而不会造成数据偏斜。