分享

spark重写rdd分区问题

macWang 2017-6-15 15:35:49 发表于 疑问解答 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 2 6140
请教一下各位大神:我的数据是(k,v),k是byte[],我想根据k分区,随机抽一定数量的k,然后其他k来跟他们比较,看看放在哪个分区里面,做到整体有序,因为最终我要生成hfile,要求rdd的数据从小到大排列好。
我的数据是用sparksql读取的parquet文件,在转成我自己的rdd。请问这个思路行吗?rdd的分区方法有什么好的建议?
我弄了几次了,效果都不理想,想请教一下
谢谢

已有(2)人评论

跳转到指定楼层
arsenduan 发表于 2017-6-15 17:57:34
楼主怎么实现的。
其实分区的方式已经确定,剩下的就是如何操作的问题。
定义分区函数即可,楼主所说的不理想是指什么方面

回复

使用道具 举报

macWang 发表于 2017-6-15 19:16:37
arsenduan 发表于 2017-6-15 17:57
楼主怎么实现的。
其实分区的方式已经确定,剩下的就是如何操作的问题。
定义分区函数即可,楼主所说的不 ...

你好,我说的不理想是指效率不够理想。
重写RDD主要就是getPartition这个方法的实现,我的<k,v>中的k是byte数组,一堆数据比如要分成10个分区,我想先大概划分10个范围,分到第一个分区中的数据的最大值要比第二个分区中的最小值还要小,以此类推。然后各个分区在排序。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条