apache-spark - 使用 spark 从日期列中获取周末日期
问题描述
我需要使用 spark SQL 从日期列中获取周末(星期六日期)。
例如
如果我提供日期“2020-01-10”,它应该返回“2020-01-11”如果我提供日期“2020-01-01”,它应该返回“2020-01-04”
解决方案
从 Spark 2.3.0 开始,您可以使用date_trunc
获取星期的开始日期,然后添加天数以达到所需的工作日。
spark.sql("select '2020-01-10' given, date_trunc('WEEK', '2020-01-10') week_start , date_add(date_trunc('WEEK', '2020-01-10'),5) saturday_date").show()
+----------+-------------------+-------------+
| given| week_start|saturday_date|
+----------+-------------------+-------------+
|2020-01-10|2020-01-06 00:00:00| 2020-01-11|
+----------+-------------------+-------------+
推荐阅读
- python - WhatsApp Web automation for random messages with Selenium
- google-analytics-4 - GA4:是否可以预先创建事件以便将它们标记为转化?
- javascript - 将 Material UI Link 组件与 Next.JS Link 组件一起使用
- reactjs - 使用 React Router 的多语言网站方法
- javascript - 如何使用 JavaScript 选择最接近的 HTML5 元素?
- terraform - 使用 for_each 在 Terraform 中创建一组资源,也通过模块?
- mne-python - 在 MNE Python 中处理长时期时如何拒绝坏段
- dart - Dart中构造函数命名参数的继承
- python - pos_hint、DragBehavior 和 FloatLayout - 可能的冲突 - 如何解决?
- ios - 为什么我的自定义 CSS 文件类型不显示供 iOS 模拟器上的 FilePick 选择?