在 Spark 中将日期转换为月底

2023-11-22

我有一个 Spark DataFrame,如下所示:

#Create DataFrame    
df <- data.frame(name = c("Thomas", "William", "Bill", "John"),
      dates = c('2017-01-05', '2017-02-23', '2017-03-16', '2017-04-08'))
df <- createDataFrame(df)

#Make sure df$dates column is in 'date' format    
df <- withColumn(df, 'dates', cast(df$dates, 'date'))

name    | dates
--------------------
Thomas  |2017-01-05
William |2017-02-23
Bill    |2017-03-16
John    |2017-04-08

我想改变dates到月末日期,因此它们看起来如下所示。我该怎么做呢? SparkR 或 PySpark 代码都可以。

name    | dates
--------------------
Thomas  |2017-01-31
William |2017-02-28
Bill    |2017-03-31
John    |2017-04-30

您可以使用以下(PySpark):

from pyspark.sql.functions import last_day

df.select('name', last_day(df.dates).alias('dates')).show()

澄清,last_day(date)返回日期所属月份的最后一天。

我很确定sparkR中有类似的功能https://spark.apache.org/docs/1.6.2/api/R/last_day.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Spark 中将日期转换为月底 的相关文章

随机推荐

  • 如何在 JPA 中从 @EmbeddedId 设置反向引用

    有人知道是否可以在 JPA 内建立反向引用 EmbeddedId 例如 有一个形式的实体 Entity public class Entity1 Id GeneratedValue private String identifier pri
  • Rails active_storage:安装不起作用

    我已将 Rails api 应用程序从 5 1 更新到 5 2 我只使用rails api 我正在尝试使用活动存储 我认为问题出在线路上config api only true in config application rb 我做了很多谷
  • Numpy:对于一个数组中的每个元素,找到另一个数组中的索引

    我有两个一维数组 x 和 y 一个比另一个小 我试图找到 y 在 x 中的每个元素的索引 我发现了两种简单的方法来做到这一点 第一个很慢 第二个需要大量内存 缓慢的方式 indices for iy in y indices np wher
  • 使Jackson在序列化时不输出类名(使用Spring MVC)

    有没有办法强制 Jackson 不要将类名放在 Json 输出中 我问了一个question这导致了这个问题 但我希望问的是一个更有针对性的问题 我在执行此操作时使用 Spring MVC 但我不确定这有多重要 所以 而不是 NamedSy
  • Android TabHost 内 Fragment

    我正在开发一个 Android 应用程序 并且使用了 android FragmentPager 选项卡example来自developer android com 此示例使用片段作为选项卡内容 现在我想在其中一个片段中放置一个tabHos
  • MySQL 中标志的 BIT(1) 或 TINYINT

    我经常有一些表需要存储一个标志 该标志可以是 1 或 0 真或假等 我以前用过 TINYINT 我应该使用 BIT 1 吗 为什么或者为什么不 如果您使用的 mysql 版本高于 5 0 3Bit不再是别名Tinyint但如果你创建一个bi
  • 如何从视图中获取托管活动?

    我有一个Activity with 3 EditText和一个自定义视图 它充当专用键盘以将信息添加到EditTexts 目前我正在通过Activity进入视图 以便我可以获得当前聚焦的编辑文本并从自定义键盘更新内容 有没有办法引用父活动并
  • preg_match 多个单词

    我想测试一个字符串以查看它包含某些单词 i e string The rain in spain is certain as the dry on the plain is over and it is not clear preg mat
  • 将Cocos2D添加到xCode 4中的项目中

    我正在从事一个项目 需要具有相同的原生部分 cocoa touch 和 cocos2d 中的某些部分 我已经把所有的原生都做了 现在我需要在项目中集成cocos2d 我的问题是我无法成功地将 cocos2d 库添加到我的项目中 有什么好的解
  • java.net.SocketException:套接字失败:EPERM(不允许操作)

    我正在开发一个包含多项活动的 Android Studio 项目 我目前正在尝试读取本地主机上 Java Servlet 的输出 但由于套接字权限 它似乎崩溃了 我创建了一个新项目 使用完全相同的代码并且工作完美 所以我不明白为什么不愿意为
  • 对每个数据库运行查询 (mysql)

    我正在寻找一种直接的方法来对我的 mysql 服务器上托管的所有数据库运行查询 我有一堆 Magento 安装 我想截断所有数据库上的所有 Magento 日志表 日志客户 访客日志 日志访客信息 log url 日志地址信息 日志引用 报
  • android模拟器可以播放音频吗

    我想录制并将录制的声音传递到手机扬声器 但我无法使录制代码正常工作 应用程序崩溃 在这里查看我的尝试 所以我现在试图看看模拟器是否可以做任何与音频相关的事情 我将 1 秒的录音复制到了 SD 卡上 格式为 wav 16 位 pcm 44k
  • Color 和 SolidColorBrush 之间的区别澄清

    好吧 这一直困扰着我 我还没有真正找到任何明确的答案作为两者之间差异的原因 原因Color SolidColorBrush所以我想知道是否有人可以在这方面教育我 我已经知道用法上的差异 例如我可以使用SolidColorBrush就像我说的
  • 使用自签名 SSL 证书时出现“SocketException:未实现未连接的套接字”

    我已经向 jmeter user 邮件列表提出了同样的问题 但我也想在这里尝试 所以至少我可以在找到答案后更新它 我使用时遇到问题JMeter使用自签名 SSL 证书测试 Tomcat Web 应用程序 JMeter 抛出带有消息的 Soc
  • Firefox、Chrome、Safari 对于 MP4 HTML5 视频有灰色背景

    任何具有白色背景的视频 我可以制作 在 Firefox Chrome 和 Safari 中都会变成灰色 在 IE 中为白色 嗯 在我的 Windows 机器上它是灰色的 在我的 Android 手机 平板电脑和 Mac 上它是白色的 我正在
  • 如何使用 Node.js 实现安全的 REST API

    我开始计划使用 Node js express 和 mongodb 构建 REST API 该 API 为网站 公共和私人区域 提供数据 之后可能还会为移动应用程序提供数据 前端将使用 AngularJS 开发 几天来 我阅读了很多有关保护
  • 使用Kafka Connect时如何转换所有时间戳字段?

    我正在尝试将所有时间戳字段转换为格式为字符串类型yyyy MM dd HH mm ss 要转换多个字段 我必须为每个字段单独创建一个转换 transforms tsFormat1 tsFormat2 tsFormatN transforms
  • 字符串数组:“在‘i++’处更改的值从未被使用过”

    这是我的代码 String queries new String 2 int i 0 Boolean result queries i
  • 离线 Firebase

    我正在实现一个以 Firebase 作为后端的 AngularJS Web 应用程序 它也应该可以离线工作 多用户同步问题应该非常有限 因为该应用程序按设计仅允许new离线时的数据输入 我了解 Firebase 具有离线功能 从某种意义上说
  • 在 Spark 中将日期转换为月底

    我有一个 Spark DataFrame 如下所示 Create DataFrame df lt data frame name c Thomas William Bill John dates c 2017 01 05 2017 02 2