JerryLead / SparkInternals

Notes talking about the design and implementation of Apache Spark

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

请教个关于spark具体应用设计问题

mseaspring opened this issue · comments

您好:
看了您写的文章非常好,首先表示感谢,在工作中有个设计问题想请教下。情景是这样的,我们需要从HDFS读文件,然后再和HBASE表中读到的数据进行匹配,最终结果输出到HDFS上。
目前设计思路是从HDFS读文件变成RDD形式、然后根据HDFS文件名,文件名中含有需要在HBASE表中数据的返回,我们去查找到HBASE数据(表数据不是很大,可能也就1G左右),广播出去,然后在对从HDFS读的RDD进行mapParttion操作,将匹配到的保存的HDFS中去,然后用总的RDD-匹配的RDD,得到未匹配的RDD也同样保存到HDFS中。。结果发现速度执行的比较慢,3.2G的HDFS文件在12个节点,每个节点8G运行内存的条件下耗时2.5分钟左右,发现任务的反序列化时间非常长,而且发现封装的函数越多耗时越长,请问这种有没有好的思路那。 烦请百忙之中帮忙看看,万分感谢!

楼上你好,偶然看到了你的需求,我最近在工作中遇到了和你类似的问题,请问你最后是怎样解决的呢?

同问

没有好的设计思路,测试过用alluxio,发现最新版本不支持RDD缓存在上面,只能把HDFS数据缓存在上面(这样HBASE也可以在上面构建,目前我们只用了HDFS在上面构建),测试后发现效果仍然没达到理想,