【问题标题】:NIFI JDBC Connection to MariaDB UTF8 supportNIFI JDBC 连接到 MariaDB UTF8 支持
【发布时间】:2019-06-24 00:58:42
【问题描述】:

当我们从 MySQL 工具(在 Windows 上使用 ODBC)运行 select convert(field using utf8) 时,我的查询工作正常。当我从 NIFI(在 Linux 上使用 JDBC)运行相同的查询时,我的查询不起作用。我缺少什么设置?

JDBC 连接字符串是

jdbc:mysql://10.10.x.x:y/仓库

我们没有收到错误。正在转换的字段为空。

【问题讨论】:

  • 请编辑问题并指定连接参数和您遇到的错误。
  • 也许你需要utf8mb4

标签: mysql mariadb apache-nifi


【解决方案1】:

您正在运行的完整查询是什么?当您使用函数作为要从中选择的字段时,返回的名称通常很时髦,并且由于 Avro 中字段命名的严格规则(ExecuteSQL 将数据转换为该字段),它经常抱怨,因此您必须使用别名,类似于select convert(field using utf8) as field from myTable

但是,如果您没有收到错误,我怀疑可能在您的外部 MySQL 工具上设置了一些会话变量,并且没有为 NiFi 的会话设置。在即将发布的 NiFi 1.9.0 版本中(通过 NIFI-5780),您将能够在执行主查询之前为会话发出 SET 语句等。

否则,JDBC 驱动程序可能会向 NiFi 返回一个无法正确处理的类型(尽管对于 UTF8,我希望它会报告一个字符串)。我用BINARY(10) 字段尝试了这个,它对我有用(使用最新的主版本,而不是发布的版本),所以我不确定那里发生了什么。

【讨论】:

    猜你喜欢
    • 2016-08-02
    • 2018-08-19
    • 2022-08-16
    • 1970-01-01
    • 2017-08-01
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多