java - 使用 Spark/Java 获取每行数据帧的当前时间戳

标签 java dataframe apache-spark current-time

我想获取每一行的当前时间戳。

我使用下面的代码

dataframe.withColumn("current_date",current_timestamp());

但是 current_timestamp() 是在序列化之前计算的,所以我总是会得到相同的日期。

如何为数据帧的每一行评估 current_timestamp()。

我需要你的帮助。

谢谢。

最佳答案

试试这个-


    df2.withColumn("current_date", expr("reflect('java.lang.System', 'currentTimeMillis')"))
      .show(false)

    /**
      * +-----+------+-------------+
      * |class|gender|current_date |
      * +-----+------+-------------+
      * |1    |m     |1594137247247|
      * |1    |m     |1594137247247|
      * |1    |f     |1594137247247|
      * |2    |f     |1594137247272|
      * |2    |f     |1594137247272|
      * |3    |m     |1594137247272|
      * |3    |m     |1594137247272|
      * +-----+------+-------------+
      */

    df2.withColumn("current_date", expr("reflect('java.time.LocalDateTime', 'now')"))
      .show(false)

    /**
      * +-----+------+-----------------------+
      * |class|gender|current_date           |
      * +-----+------+-----------------------+
      * |1    |m     |2020-07-07T21:24:07.377|
      * |1    |m     |2020-07-07T21:24:07.378|
      * |1    |f     |2020-07-07T21:24:07.378|
      * |2    |f     |2020-07-07T21:24:07.398|
      * |2    |f     |2020-07-07T21:24:07.398|
      * |3    |m     |2020-07-07T21:24:07.398|
      * |3    |m     |2020-07-07T21:24:07.398|
      * +-----+------+-----------------------+
      */
// you can convert current_date to timestamp by casting it to "timestamp"

关于java - 使用 Spark/Java 获取每行数据帧的当前时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62778701/

相关文章:

java - 如何同时在两个不同的框架中显示Singleton类的面板?

r - 如何将空列添加到 r 中的数据框列表

java - 如何提高 Spark 性能?

java - 如何将 XML 文件输出到 Java 中的 REST Web 服务,以便另一个应用程序可以使用此 XML?

java - Android创建多维数组并获取值

python - Pandas - 如何创建一个新列,该新列从前一行或下一行(如果第一行)的列中获取值

dataframe - 计算 Spark 数据帧中缺失值的数量

python - 在 pyspark 中使用基于 DataFrame 的 API 在 2 个稀疏向量列表之间进行矩阵乘法的最佳方法是什么?

java - 如何在 AppEngine 数据存储上执行批量更新

python - 使用 pandas 替换正则表达式格式化字符串内的日期