【问题标题】:Not able to transfer mysql table data to cassandra using Nifi无法使用 Nifi 将 mysql 表数据传输到 cassandra
【发布时间】:2018-01-10 02:09:22
【问题描述】:

我正在尝试使用 nifi 将 mysql 表数据迁移到 cassandra。附上我在 nifi 中尝试过的屏幕截图,因为我坚持 putCassandraQl 命令,因为它抛出了附加屏幕截图中提到的错误。请帮助我,因为我需要添加更多步骤。

【问题讨论】:

    标签: cassandra apache-nifi kylo


    【解决方案1】:

    PutCassandraQL 要求流文件包含 CQL 语句,您在其中传递从 QueryDatabaseTable 获取的 Avro 记录,或者在尝试使用 ReplaceText 修改内容之后。

    尝试以下方法:

    QDT -> SplitAvro -> ConvertAvroToJSON -> ConvertJSONToSQL -> ReplaceText(将 SQL 更改为 CQL)-> PutCassandraQL

    编辑:PutCassandraQL 需要cql.args.N.typecql.args.N.value 形式的属性参数,其中N 是一个正整数,对应于要插入的值的位置。但是 ConvertJSONToSQL 输出 sql.args.N.typesql.args.N.value 形式的属性。这意味着您需要使用 UpdateAttribute 或 ExecuteScript 更改它们。从 NiFi 1.5.0(在撰写本文时尚未发布)通过NIFI-4684,您将能够指定来自 ConvertJSONToSQL 的属性的前缀,因此您可以将该属性设置为 cql

    如果 ConvertJSONToSQL 生成的内容是有效的 CQL,您可能不需要 ReplaceText。如果不是,则需要使用 ReplaceText 将 SQL 语句更改为有效的 CQL。

    【讨论】:

    • 能否告诉我 ReplaceText 的配置属性。
    • 谢谢@mattyb,我现在可以将数据迁移到cassandra了。
    • 能分享一下nifi模板文件吗?我是新手,发现为类似任务设置属性很耗时
    猜你喜欢
    • 2019-05-22
    • 2015-11-03
    • 2018-08-22
    • 2013-09-23
    • 2020-11-06
    • 1970-01-01
    • 1970-01-01
    • 2019-08-10
    • 2018-03-09
    相关资源
    最近更新 更多