NIfi:如何摄取一张大桌子

时间:2016-09-13 00:29:29

标签: apache-nifi

我正在尝试使用QueryDatabaseTable或ExecuteSQL在nifi中摄取一个非常大的表。它似乎不起作用..相同的查询适用于较小的表。

思想?

由于

2 个答案:

答案 0 :(得分:3)

你得到什么样的错误?您可能遇到以下情况:

https://issues.apache.org/jira/browse/NIFI-1251

如果您使用的是NiFi 1.0,则可以使用GenerateTableFetch处理器。它允许您选择"页面" (又称分区)大小,并将生成SQL语句,每个语句都会抓取一个"页面"数据的。您可以将它们路由到ExecuteSQL,它将一次检索较小的结果集。如果你有一个NiFi集群,你可以将GenerateTableFetch路由到指向同一集群上Remote Process GroupInput Port(它将在集群中分配SQL语句),然后输入端口可以是连接到ExecuteSQL。这允许您并行地从表中获取行。

答案 1 :(得分:-1)

使用GenerateTableFetch获取数字溢出

GenerateTableFetch GenerateTableFetch [id = 245bd83a-0157-1000-73ab-275171c79348]由于java.sql.SQLException,无法执行SQL select查询SELECT COUNT(*)FROM CATALOG_SALES:数字溢出:java.sql.SQLException:数字溢出