csv - Spark Write csv - 时间戳格式问题
问题描述
我在 hive 表中的时间戳格式最长为 6 毫秒,同时写入 spark CSV 格式 - 它不允许我写超过 3 毫秒。
1) 源格式:“yyyy-mm-dd hh:mi:ss.SSSSSS”
2) csv 格式:“yyyy-mm-dd hh:mi:ss.SSS”
即使在写入 CSV 中指定了最多 6 SSSSSS 毫秒的格式,也不起作用。
DF.write. option("sep","~"). option("quoteAll", "true"). option("timestampFormat","yyyy-MM-dd HH:mm:ss.SSSSSS")
- 不工作?
有人知道任何解决方案吗?
解决方案
这是对我有用的代码片段。
我需要一个“T”字符,没有秒或微秒。timestampFormat选项确实适用于此。
DF.write
.mode(SaveMode.Overwrite)
.option("timestampFormat", "yyyy-MM-dd'T'HH:mm")
如2017-02-20T06:53
如果你用空格代替“T”,那么你会得到:
DF.write
.mode(SaveMode.Overwrite)
.option("timestampFormat", "yyyy-MM-dd HH:mm")
如2017-02-20 06:53
推荐阅读
- azure - 如何获取 Azure 服务结构性能指标?
- kubernetes - 在带有 ClusterIP 服务和 kube-keepalive-vip 的裸机 Kubernetes 上没有使用 Traefik 2 的 X-Forwarded-For
- python - Pytest如何在测试之间传递参数/数据?
- python - dask Client.map() 调用期间会发生什么?
- python - 嵌套函数的装饰器 [Python]
- xml - 你能在 Visual Studio 中更改围绕 XML 的注释格式吗?
- angular - Angular Firestore 配置
- snakemake - Snakemake 使用检查点结束工作流程
- python - Python函数根据最近的日期和活动状态返回行
- python - 如何在通用 UpdateView 中为 django 表单小部件指定查询集