无法使用 Nifi 将 mysql table 数据传输到 cassandra
Not able to transfer mysql table data to cassandra using Nifi
我正在尝试使用 nifi 将 mysql table 数据迁移到 cassandra。附上我在 nifi 中尝试过的屏幕截图,因为我坚持使用 putCassandraQl 命令,因为它抛出了所附屏幕截图中提到的错误。请帮助我解决这个问题,因为我需要添加更多步骤。
PutCassandraQL 要求流文件包含 CQL 语句,您在其中传递从 QueryDatabaseTable 获取的 Avro 记录,或者在尝试使用 ReplaceText 修改内容之后。
尝试以下操作:
QDT -> SplitAvro -> ConvertAvroToJSON -> ConvertJSONToSQL -> ReplaceText(将 SQL 更改为 CQL) -> PutCassandraQL
EDIT:PutCassandraQL 期待 cql.args.N.type
和 cql.args.N.value
形式的属性中的参数,其中 N 是对应于值位置的正整数被插入。但是 ConvertJSONToSQL 输出 sql.args.N.type
和 sql.args.N.value
形式的属性。这意味着您需要使用 UpdateAttribute 或 ExecuteScript 更改它们。从 NiFi 1.5.0(在撰写本文时尚未发布)开始,通过 NIFI-4684,您将能够指定来自 ConvertJSONToSQL 的属性的前缀,因此您可以设置属性 到 cql
.
如果 ConvertJSONToSQL 生成的内容是有效的 CQL,则您可能不需要 ReplaceText。如果不是,您将需要使用 ReplaceText 将 SQL 语句更改为有效的 CQL。
我正在尝试使用 nifi 将 mysql table 数据迁移到 cassandra。附上我在 nifi 中尝试过的屏幕截图,因为我坚持使用 putCassandraQl 命令,因为它抛出了所附屏幕截图中提到的错误。请帮助我解决这个问题,因为我需要添加更多步骤。
PutCassandraQL 要求流文件包含 CQL 语句,您在其中传递从 QueryDatabaseTable 获取的 Avro 记录,或者在尝试使用 ReplaceText 修改内容之后。
尝试以下操作:
QDT -> SplitAvro -> ConvertAvroToJSON -> ConvertJSONToSQL -> ReplaceText(将 SQL 更改为 CQL) -> PutCassandraQL
EDIT:PutCassandraQL 期待 cql.args.N.type
和 cql.args.N.value
形式的属性中的参数,其中 N 是对应于值位置的正整数被插入。但是 ConvertJSONToSQL 输出 sql.args.N.type
和 sql.args.N.value
形式的属性。这意味着您需要使用 UpdateAttribute 或 ExecuteScript 更改它们。从 NiFi 1.5.0(在撰写本文时尚未发布)开始,通过 NIFI-4684,您将能够指定来自 ConvertJSONToSQL 的属性的前缀,因此您可以设置属性 到 cql
.
如果 ConvertJSONToSQL 生成的内容是有效的 CQL,则您可能不需要 ReplaceText。如果不是,您将需要使用 ReplaceText 将 SQL 语句更改为有效的 CQL。