在一个使用镶木地板存储用户列表的Spark应用程序中。每个用户都有一个电话号码。
我需要通过电话进行有效搜索,最好是通过电话进行分区。文件说钥匙的价值应该超过一万,在我的情况下可能是数百万。
是否有任何方法/或任何技巧/或某些最新技术来按电话号码划分?例如,对电话号码进行哈希处理还是仅对前几个数字进行分区?
Thx
答案 0 :(得分:0)
如果您将手机号码按第一位划分,则数据将倾斜。因为大多数手机没有以相同数字或公用数字开头。
印度的示例,手机号。通常以9, 8 and, 7
和60% of mobile start with 9, about 30-35% with 8
基于手机号码的最后一位进行的分区将为您提供10个分区(0-9
),而不会造成数据偏斜。