在询问问题时,在csv文件中向BigQuery发送电子商务信息时出现了问题。在csv中,ORDER_DATE
列的值应该进入BigQuery中的DATETIME
类型列中的yyyy-MM-dd HH:mm:ss
格式,试图在BigQuery上找到一些引用。
环境
Attempt1
将替换值策略选择为文字值,并将/ORDER_DATE
添加为新字段。其价值如下:
${field.value:toDate('yyyyMMddhhmmss','GMT'):format('yyyy-MM-dd hh:mm:ss', 'GMT')}
症状如下:
Attempt2
找到了一个新的引用,即NiFi表达式是错误的,所以我做了另一种方法:
${field.value:equals('0'):ifElse('', ${field.value:replace(${field.value},${field.value:toDate('yyyyMMddHHmmss'):format('yyyy-MM-dd HH:mm:ss'):toString()})})}
同样,症状如下:
有人让我打开日志,检查一下,如下所示:
java.lang.NumberFormatException:用于输入字符串:"2022-01-08 15:22:17“
有什么想法吗?谢谢您:)
发布于 2022-01-18 14:45:16
在不增加上游UpdateRecord
的情况下,使用ValidateCSV
解决了该问题。
在控制器服务中,CSVReader
和CSVRecordSetWriter
被修改如下:
User String Fields From Header
CSVReader
的属性Schema Access Strategy
更改为将所有属性更改为处理器CSVReader
的默认值
以下是测试结果:
GenerateFlowFile
,将以下文本更改为yyyyMMddHmmss
格式,将其转换为csv UpdateRecord
中修改
CSVRecordSetWriter
离开默认设置并设置CSVReader
,如下所示:的情况下转换值。
搜索以查看错误日志中的文件并找到原因。它似乎被推断为类型字符串,但它是类型浮点数,从而导致上述错误。
感谢您的评论。@VikramsinhShinde @Sdair
https://stackoverflow.com/questions/70738476
复制相似问题