java - 使用java在spark上进行数据处理
问题描述
我有一个数据集。
+-------------------+
| Date |
+-------------------+
|1970-01-01 06:00:00|
+-------------------+
我只想用小时和分钟。日期列在时间戳上。我尝试了以下代码:
String format = "HH:mm";
df.withColumn("hour:minute",unix_timestamp(col("Date"),format)).show(100);
但对我不起作用。
谢谢你 。
解决方案
unix_timestamp
将时间戳转换为纪元/unix 时间。
- 使用任何一个
date_format
,from_unixtime(unix_timestamp())
函数来提取hour:minute
。
例子:
df.withColumn("hour:minute",date_format(col("Date"),"HH:mm")).show()
df.withColumn("hour:minute",from_unixtime(unix_timestamp(col("Date"),"yyyy-MM-dd HH:mm:ss"),"HH:mm")).show()
//+-------------------+-----------+
//| Date|hour:minute|
//+-------------------+-----------+
//|1970-01-01 06:00:00| 06:00|
//+-------------------+-----------+
推荐阅读
- sql - 列 ID、更新、项目。我想要一个饼图,其中特定员工的数据库中不同项目的更新百分比
- java - 为什么我在 vsc 中找不到符号错误?
- excel - 使用 VBA 按电子邮件地址域搜索 olFolderSentMail
- prometheus - node_exporter 无法导出特定的卷/挂载点指标 - err="permission denied"
- c - 在调试控制台 VScode 中使用输入(stdin)
- sql - Oracle SQL,以不超过参考日期的最近日期连接表
- typescript - 为什么过滤具有未定义键的对象会在 TypeScript 严格模式下出错
- typescript - 在Typescript中按日期变量将数组元素分组为周
- python - 按索引行值与前一行值比较数据帧组
- reactjs - 我如何为我的搜索栏做后端反应?