apache-nifi - 时间戳格式问题(NiFi 的 PutDatabaseRecord)
问题描述
使用 Nifi 中的PutDatabaseRecord (1.9.2) 处理器将日期时间插入 MSSQL 数据库时出现以下错误。
表中的数据类型是DateTime
读取一个简单的 csv 文件:
TALKGROUP_REF;FLEET_REF;TALKGROUP_ID;TALKGROUP_NAME;GROUP_TYPE;DISPATCHER_REF;MULTIGROUP_REF;OWNER;FNE_STATE;ADDL_ATTRVAR;LAST_USER_MODIFIED;TIME_STAMP;FNE_OID
3345;424;123456790847070;LOK-KJX-A;T;;;1 53133303;O;;NBA;2014-02-27 15:11:13;
3346;424;123456790847071;LOK-KJX-1;T;;;1 53133303;O;;NBA;2017-05-10 21:29:26;
3347;424;123456790847072;LOK-KJX-2;T;;;1 53133303;O;;NBA;2017-05-10 21:29:35;
3348;424;123456790847073;LOK-KJX-3;T;;;1 53133303;O;;NBA;2017-05-10 21:29:35;
3350;424;123456790847075;LOK-KJX-5;T;;;1 53133303;O;;NBA;2017-05-10 21:29:35;
使用的架构:
{ "type" : "record", "name" : "mibas_t005_talkgroup", "fields" : [
{ "name" : "talkgroup_ref", "type" : ["null","long"] },
{ "name" : "fleet_ref", "type" : ["null","long"] },
{ "name" : "talkgroup_id", "type" : ["null","long"] },
{ "name" : "talkgroup_name", "type" : ["null","string"] },
{ "name" : "group_type", "type" : ["null","string"] },
{ "name" : "dispatcher_ref", "type" : ["null","string"] },
{ "name" : "multigroup_ref", "type" : ["null","string"] },
{ "name" : "owner_", "type" : ["null","string"] },
{ "name" : "fne_state", "type" : ["null","string"] },
{ "name" : "addl_attrvar", "type" : ["null","string"] },
{ "name" : "last_user_modified", "type" : ["null","string"] },
{ "name" : "time_stamp", "type" : ["null", { "type":"long", "logicaltype":"timestamp-millis"} ]},
{ "name" : "fne_oid", "type" : ["null","string"] }]}
时间戳格式:' yyyy-MM-dd HH:mm:ss '
解决方案
解决方案是将模式中的数据类型定义从logicaltype更改为logicalType(大写T)。呜呜呜!!!
例如:*{ "name" : "time_stamp", "type" : ["null", { "type":"long", " logicalType ":"timestamp-millis"}*
令人讨厌的部分是它验证。没有警告!但是,如果您错误地使用String而不是正确的字符串(小写 S)或Type而不是在您的架构中键入,您的架构将无法验证,您可以更正它。
推荐阅读
- arrays - 通过主机阵列 ping 并在表中显示结果
- unity3d - unity mobile VR (GoogleVR) 中如何获取头部运动的轴心?
- eclipse - 在安装 TestNG 之前,我的 Eclipse 工作正常。但是在安装 TestNG 之后出现以下异常
- javascript - Cordova PayPal 插件集成 iOS 问题
- angular - 无法设置 null Angular 的属性“src”-Typescript 错误
- java - 在 MapsActivity 中更改 MyLocation 按钮的位置
- android - 使用Delphi10.1在android中以一种形式使用2种不同的样式
- java - Eclipse中用于文本冒险的键绑定
- android - 当emitter.onNext()处于异步循环时如何调用emitter.onComplete()
- c# - 无法在 CookieAuthenticationOptions 中设置 AuthenticationType