apache-spark - Spark数据框添加新列问题 - 结构化流

标签 apache-spark spark-structured-streaming

我正在使用 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/

相关文章:

apache-spark - Spark 流 : Kafka group id not permitted in Spark Structured Streaming

python - 如何使用 "Trigger once"触发器控制 Spark Structured Streaming 中每个触发器处理的文件数量?

apache-spark - 在 spark 2.3.0 中的结构化流中禁用 _spark_metadata

apache-spark - 如何显示流数据帧(显示失败并出现 AnalysisException)?

macos - Mac 上的 Spark Shell "Failed to Initialize Compiler"错误

python - pyspark更改日期时间列中的日期

apache-spark - Spark 批处理中的顺序处理

hadoop - 我们能否使用多个sparksession从两个不同的hive2服务器访问表

apache-spark - 将数据帧转换为 libsvm 格式

apache-spark - 不理解结构化流中的更新模式和水印