我的datalake中有一个csv文件presence.csv
:
TIME,RESULT,PARENTLOCALIZATIONCODE,PARENTNAME,SIGFOXID,STATUS
2018-12-10T00:06:14.5464070Z,OK,A,A,19A9BC,OFF_PERIOD
我试图阅读它,但是TIME
列输出错误:
^{pr2}$
我首先考虑了我的服务器和gmt时间之间的时差,但是一个是00:06:14
,另一个是{},所以关于{}的差异,这很奇怪。在
你知道为什么会发生这种转变吗?在
Tags:
从^{} 的文档中,默认的
timestampFormat
是:yyyy-MM-dd'T'HH:mm:ss.SSSXXX
适用于spark 2.2及更高版本yyyy-MM-dd'T'HH:mm:ss.SSSZZ
代表spark version 2.1None
适用于spark 2.0 which means trying to parse times and date by ^{数据的主要问题是,在一秒钟内有3个额外的值。因此对于这些数据,您需要使用
timestampFormat="yyyy-MM-dd'T'hh:mm:ss:SSSSSSZZ"
但正如您在这里看到的,
TIME
列正在转换为本地时间(在我的系统上是GMT-4)。在如果这不是您想要的,“修复”取决于您的spark版本,并在Spark Strutured Streaming automatically converts timestamp to local time上的答案中详细说明。在
如果应用特定于版本的“fix”,您将看到以下结果:
^{pr2}$参考文献:
相关问题 更多 >
编程相关推荐