【发布时间】:2019-12-12 14:58:55
【问题描述】:
我正在使用 apache nifi 使用自定义 SQL 脚本查询 Teradata 数据库并将结果存储在 Oracle 数据库中。
我在nifi中使用的数据流如下:
- ExecuteSQL(执行 SQL 选择脚本)
- UpdateRecord(添加 3 个未包含在原始 sql 选择中的附加列,即 id、created_dt 和 updated_dt)
- ConvertAvroToJson(这里没有什么特别的,只是将 Avro 转换为 json)
- ConvertJsonToSQL(这里没有什么特别的,只是将 Json 转换为 SQL 插入查询)
- UpdateAttribute(使用 以下格式 ${sql.args.39.value:toDate("yyyy-MM-dd"):format("yyyy-MM-dd")} 和 ${sql.args.40.value:toDate("yyyy-MM-dd"):format("yyyy-MM-dd")} )
- PutSQL(执行从前一个流程创建的插入语句)
第 6 步是我遇到以下错误的地方,我尝试了一些在线资源,但没有帮助。
对于一个非常简单的用例,我花了几天时间才弄明白,我认为越来越接近了,但我需要一些关于如何正确配置和在日期列上插入数据的建议。
错误日志
due to java.sql.SQLDataException: The value of the sql.args.39.value is '2019-12-12', which cannot be converted to a timestamp; routing to failure: java.sql.SQLDataException: The value of the sql.args.39.value is '2019-12-12', which cannot be converted to a timestamp
数据库架构
created_dt 日期
更新日期
UpdateAttribute 传出数据
“created_dt”:“2019-12-12”,
“updated_dt”:“2019-12-12”
sql.args.39.type
93
sql.args.39.value
2019-12-12
【问题讨论】:
标签: apache-nifi