首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运行多个连接时,Beam SQL / Apache Beam速度较慢

运行多个连接时,Beam SQL / Apache Beam速度较慢
EN

Stack Overflow用户
提问于 2018-08-14 04:46:08
回答 1查看 1.1K关注 0票数 0

当使用Beam对两个表进行连接时,它正常工作,提供了预期的性能,但是随着我的连接表的增加,性能就变得最差了。

下面是我的片段,它可能帮助您调试我在Beam中的连接条件,以获得更好的性能。

代码语言:javascript
复制
PCollection<Row> outputStream2 = PCollectionTuple.of(new TupleTag<>("corporation1"), sourceData)
                .and(new TupleTag<>("dim"), dimtable).and(new TupleTag<>("place"), placeData)
                .and(new TupleTag<>("principle"), principle).apply(SqlTransform.query(
                        "Select d.merchant,d.corporation1,d.place,d.principal,c.corporation1_sk,r.place_sk,p.principal_sk FROM dim d LEFT JOIN corporation1 c ON c.corporation1 = d.corporation1 LEFT JOIN place p ON p.place = d.place and c.corporation1 = p.corporation1 "));

任何更好的方法,我可以在Beam / Apache上进行连接,因为表中的顺序连接,

其中,前面的输出负责下一个表连接。我尝试过使用Co和SideInput混合方法,在表中数据低于5K的情况下,我选择了SideInput,而数据在50K以上,使用Co加入,但是性能没有达到目标。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-14 16:46:54

看起来,您看到的是类似于的问题,目前还没有ETA进行修复。Beam SQL本身目前并没有做太多的连接优化,它根据接收到的输入类型选择了最合适的方法(侧输入,CoGBK),但基本上是这样的,否则您无法控制它。

在不知道具体设置的情况下很难确定,例如,您拥有什么样的数据源,或者如何确保使用侧输入与CoGBK,或者使用什么运行程序,或者您期望的性能与实际观察的性能。

相关链接,如果您需要更多详细信息:

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51833871

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档