如何使用PDI(水壶)提高插入数据从Mongo到GreenPlum的性能?

发布于 2025-01-21 18:13:30 字数 333 浏览 4 评论 0原文

我使用PDI(水壶)将数据从MongoDB提取到GreenPlum。我测试了如果从mongodb提取数据到文件,它的速度更快,每秒约10000行。但是,如果提取成绿色,则每秒仅130。 我修改了以下绿色参数,但这并没有显着改进。

gpconfig -c log_statement -v none
gpconfig -c gp_enable_global_deadlock_detector -v on

如果我想添加输出表的数量。它似乎挂断了,很长一段时间内都不会插入数据。我不知道为什么?

如何使用PDI(水壶)提高插入数据从Mongo到GreenPlum的性能? 谢谢。

I use PDI(kettle) to extract the data from mongodb to greenplum. I tested if extract the data from mongodb to file, it was faster, about 10000 rows per second. But if extract into greenplum, it is only about 130 per second.
And I modified following parameters of greenplum, but it is no significant improvement.

gpconfig -c log_statement -v none
gpconfig -c gp_enable_global_deadlock_detector -v on

And if I want to add the number of output table. It seems to be hung up and no data will be inserted for a long time. I don't know why?

How to increase the performance of insert data from mongo to greenplum with PDI(kettle)?
Thank you.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

半城柳色半声笛 2025-01-28 18:13:30

这里可能有多种因素在这里发挥作用。

  • PDI是否通过ODBC或JDBC连接加载?
  • 数据大小是多少? (行计算并没有真正告诉我们)
  • 您将绿色群集的大小(主机#和每个主机的段#)
  • 是您加载到索引中的表?
  • Mongo和Greenplum之间的网络连接是什么?

使用数据集成工具(例如PDI,Informatica Power Center,IBM数据阶段)等数据集成工具的最佳批量负载性能将使用GreenPlum的本机批量加载实用程序GPFDIST和GPLOAD来实现。

There are a variety of factors that could be at play here.

  • Is PDI loading via an ODBC or JDBC connection?
  • What is the size of data? (row count doesn't really tell us much)
  • What is the size of your Greenplum cluster (# of hosts and # of segments per host)
  • Is the table you are loading into indexed?
  • What is the network connectivity between Mongo and Greenplum?

The best bulk load performance using data integration tools such as PDI, Informatica Power Center, IBM Data Stage, etc.. will be accomplished using Greenplum's native bulk loading utilities gpfdist and gpload.

南城追梦 2025-01-28 18:13:30

绿色爱情批处理。

a)您可以在Rowset中使用nr行中的nr行修改批处理大小。

b)您可以在表输出中修改提交大小。

我认为A和B应该匹配。

找到您的最佳值。 (例如,我们将1000用于内部带有大JSON对象的行)

Greenplum love batches.

a) You can modify batch size in transformation with Nr rows in rowset.

b) You can modify commit size in table output.

I think a and b should match.

Find your optimum values. (For example we use 1000 for rows with big json objects inside)

朕就是辣么酷 2025-01-28 18:13:30

现在,使用以下连接属性
RewriteBatchedInserts = true

它将从插入到批处理插入物重新编写SQL。它增加了我的场景插入性能十倍。

https://jdbc.postgresqlesql.postgresql.org/documentation/documentation/94/94/94/connect.html

谢谢你们!

Now, using following connection properties
reWriteBatchedInserts=true

It will re-write SQL from insert to batched insert. It increase ten times insert performance for my scenario.

https://jdbc.postgresql.org/documentation/94/connect.html

Thank you guys!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文