mysql - 从 NiFi 中的 QueryDatabaseTable 中获取数据

标签 mysql apache apache-nifi

我在 MySQL 中有一个数据库,它有近 200 万行和 30 列。我的流程是 QueryDatabaseTable -> convertrecord -> PutElasticSearchHttpRecord。我的 QueryDatabaseTable 具有以下配置(请查看屏幕截图):

enter image description here

enter image description here

我的 Jjava.args 值如下:(虽然我将以下两个的值更新为 8 GB,但仍然出现 java 堆空间错误)

java.arg.2=-Xms512m java.arg.3=-Xmx512m

我正在应用select * from Tablename(将导致跨 9 列的 749,748 行)但出现“Java 堆空间错误”。是因为我正在尝试跨 9 列调用 749,748 行吗?

使用 NiFi QueryDatabaseTable 处理器从 MySQL 调用如此庞大的数据集的最佳方式是什么。任何帮助深表感谢。谢谢!

最佳答案

如上述评论所述。

NiFi 默认 JVM 配置是 java.arg.2=-Xms512m java.arg.3=-Xmx512m 这是根本原因针对内存不足问题。

要解决此问题,请增加 $NIFI_HOME/conf/bootstrap.conf 文件中的堆空间

根据您的要求更改配置,如下所示,我已将堆空间增加到 8GB

# JVM memory settings
java.arg.2=-Xms8912m
java.arg.3=-Xmx8912m

为了使这些配置在您的 NiFi 实例中生效,RESTART 整个 NiFi 实例,然后只有 NiFi 实例将使用 配置的堆运行空格.

有关 JVM 内存不足问题的更多详细信息,请参阅 this链接。

关于mysql - 从 NiFi 中的 QueryDatabaseTable 中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53419517/

相关文章:

mysql 到 mariadb 恢复备份

javascript - 动态选择选项php和mysql

java - Nifi-1.0.0 - 同步机制

java - 空白敏感属性 key 需要 Nifi 迁移

docker - Nifi将数据插入Docker上的Druid

c# - 将 MySql 数据库导出到文件中

sql - MySQL连接问题

java - HttpClient 抛出 TruncatedChunkException 访问大块资源

python - 在 Apache 上运行时加载 pyodbc 模块时出错

php - Symfony 应用程序 403 禁止错误 : You don't have permission to access/on this server