Apache spark 如何收集流数据集(到Scala值)?
如何将数据帧值存储到scala变量 我需要存储下面数据帧中的值,假设列时间戳为变量生成相同的值,然后我需要在某个地方使用这个变量 我试过跟随Apache spark 如何收集流数据集(到Scala值)?,apache-spark,spark-structured-streaming,Apache Spark,Spark Structured Streaming,如何将数据帧值存储到scala变量 我需要存储下面数据帧中的值,假设列时间戳为变量生成相同的值,然后我需要在某个地方使用这个变量 我试过跟随 val spark =SparkSession.builder().appName("micro"). enableHiveSupport().config("hive.exec.dynamic.partition", "true"). config("hive.exec.dynamic.partition.mode", "nonstri
val spark =SparkSession.builder().appName("micro").
enableHiveSupport().config("hive.exec.dynamic.partition", "true").
config("hive.exec.dynamic.partition.mode", "nonstrict").
config("spark.sql.streaming.checkpointLocation", "hdfs://dff/apps/hive/warehouse/area.db").
getOrCreate()
val xmlSchema = new StructType().add("id", "string").add("time_xml", "string")
val xmlData = spark.readStream.option("sep", ",").schema(xmlSchema).csv("file:///home/shp/sourcexml")
val xmlDf_temp = xmlData.select($"id",unix_timestamp($"time_xml", "dd/mm/yyyy HH:mm:ss").cast(TimestampType).as("timestamp"))
val collect_time = xmlDf_temp.select($"timestamp").as[String].collect()(0)
其错误如下:
org.apache.spark.sql.AnalysisException:具有流媒体源的查询必须使用writeStream.start执行
是否有任何方法可以将一些数据帧值存储到变量并在以后使用
是否有任何方法可以将一些数据帧值存储到变量并在以后使用
这在Spark结构化流媒体中是不可能的,因为流媒体查询永远不会结束,因此不可能表示collect
稍后我需要在某个地方使用这个变量
这之后必须是另一个流式查询,您可以将其连接在一起并生成结果。是否可以在同一程序上启动两个流式查询?让我试试……非常感谢。。。您的贡献非常有助于激发结构化流媒体