java - 使用 Spark SQL 将 CCYYMMDD 日期格式转换为 DDMMYYYY 格式
问题描述
我需要对 Spark 中包含日期的 Dataframe 列进行转换。该列最初是通过定义世纪 (CCYYMMDD) 来格式化的,我想将其更改为不同的格式 (DDMMYYYY)。
例如:
“21000101”到“01012000”
或者
“20991231”到“31121999”
我曾尝试使用 spark sql 函数 date_format:
public static Column toFlatFileDate(Column c, String inFormat, String outFormat) {
return functions.date_format(functions.to_timestamp(c, inFormat), outFormat);
}
Dataset<Row> result = source.withColumn("transformedDate", toFlatFileDate(source.col("base"), "CCyyMMdd", "ddMMyyyy"));
预期的输出应该是“transformed-column”列的格式应该是 ddMMyyyy,但结果是空值。
解决方案
推荐阅读
- .net - 通过用户名和密码在 .Net Core 中进行 ADFS 4 身份验证
- php - 如何使用 PHP json_decode 解析代码
- python - 从列表和非列表列表中查找项目索引的最有效方法是什么?
- wordpress - Wordpress Elementor:如何在页面之间保持块不变?
- jquery - jQuery - 单击时重置文件输入和更新按钮
- python - 通过反转的列值重新索引行
- hashset - 如果有很多输入和删除,哈希集的空间复杂度会更差吗?
- javascript - 我得到 /bin/sh: [npm: not found error while execution the react image in Docker
- python - 使用矢量化访问过滤 Numpy 元组数组
- reactjs - 具有可调整大小的列和拖放列的 Ant Design Table 示例?