T 级别的 RDD 正确数据聚合的姿势?

2019-03-04 18:12:50 +08:00
 p2pCoder

JavaPairRDD<String, Map<String, String>> 结构的 RDD,input data 约在 1T 作用,使用常规的 reducebykey 的 excutor 内存会不够, 目前,spark.executor.memory 设置的 4G,准备继续往上加到 8G 再试, 这种情况下除了 加 executor.memory 还有其他 有效解决方式吗? 小弟 spark 菜鸡,希望各位大佬给点指导。

2080 次点击
所在节点    程序员
8 条回复
decken
2019-03-04 19:30:34 +08:00
内存不够时间来凑 可以用 reparation 将数据分成更多分区
ijk0
2019-03-04 20:46:34 +08:00
增加 executer 数
bsidb
2019-03-04 21:42:43 +08:00
用 Spark 的 DataFrame 的 API 来完成聚合操作。DataFrame API 在处理超大规模数据时,性能比 RDD 的 reduceByKey 高非常多。
sampeng
2019-03-04 22:48:14 +08:00
你这个怎么感觉就跟 500m 内存怎么分析一个 T 数据一个故事呢…内存不够时间来凑…
p2pCoder
2019-03-04 23:02:51 +08:00
@sampeng
@ijk0
executor 1000
p2pCoder
2019-03-04 23:03:18 +08:00
@sampeng
@ijk0
输错了 100
burby
2019-03-04 23:37:35 +08:00
google bigquery
ijk0
2019-03-05 16:30:01 +08:00
@p2pCoder 可以配置动态增加 executor 数(设置一个上限比如 500 ),executor 4g 也不算少了;另外注意下是不是有数据倾斜

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/540961

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX