我正在使用 spark 结构化流。我有一个数据框并添加了一个新列“current_ts”。
inpuDF.withColumn("current_ts", lit(System.currentTimeMillis()))
这不会用当前纪元时间更新每一行。它会在触发作业时更新相同的 epcoh 时间,从而导致 DF 中的每一行都具有相同的值。这适用于正常的 Spark 作业。这是 Spark 结构化流的问题吗?
最佳答案
那么 spark 将您的转换记录为沿袭图,并且仅在调用某些操作时才执行该图。所以它会调用
System.currentTimeMillis()
当某个 Action 被触发时。我不明白其中的内容让您感到困惑或您想要实现什么。谢谢。
关于apache-spark - Spark数据框添加新列问题 - 结构化流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49593591/