首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于实时ETL的Apache光束

用于实时ETL的Apache光束
EN

Stack Overflow用户
提问于 2021-06-12 07:14:14
回答 1查看 202关注 0票数 0

我使用的应用程序应该是从特定源读取数据(Json),对其执行所需的业务转换,然后将其实时加载到MySQL数据库(所有这些时间的持续时间应以毫秒为单位)。

到目前为止,我已经能够使用带有火花运行器和JavaApache来完成这个任务,但是与预期相比,这需要更多的时间(大约是)。25秒,记录近200万次)。我对Apache非常陌生,我想知道我是否可以做些什么来提高应用程序的性能,还是应该移到其他一些技术栈来帮助我实现这一点。

EN

回答 1

Stack Overflow用户

发布于 2021-06-12 17:11:43

当速度是主要标准时,您需要理解中间包生成的SQL。

这些层(beam/beam/java/etc)非常方便,可以使逻辑变得更简单。但您不一定相信它们能够生成最优的SQL。

计划A:为评论提供生成的SQL。

计划B: Jetisson的层和直接使用SQL。(当然,会有一个简单的API,可以清楚地暴露生成的SQL将是什么。)

作为SQL的一般规则,最好在一个查询中对数十万行进行操作。使用循环来发出数百或数千行SQL语句的速度可能是原来的10倍。

这可能包括将所有未经修改的数据加载到一个表中,然后在SQL中执行ETL操作--一次在一个“列”上操作,而不是每次在一个“行”上操作。向我们展示一个与SHOW CREATE TABLE一起的JSON字符串,并解释您的ETL的"T“(转换)。

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

https://stackoverflow.com/questions/67946503

复制
相关文章

相似问题

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