[英]Fetch dbfs files as a stream dataframe in databricks
我有一个问题,我需要在 Databricks 中为每个登陆 ADLS gen 2 存储的 CSV 文件创建一个外部表。
当我从 dbutils.fs.ls() output 获得一个流 dataframe 然后调用一个 function 在 forEachBatch() 中创建一个表时,我想到了一个解决方案。
我已经准备好 function,但我无法找到将 stream 目录信息转换为流式传输 Dataframe 的方法。有人知道如何实现吗?
请检查以下代码块。
package com.sparkbyexamples.spark.streaming
import org.apache.spark.sql.SparkSession
import org.apache.spark.sql.types.{IntegerType, StringType, StructField, StructType}
object SparkStreamingFromDirectory {
def main(args: Array[String]): Unit = {
val spark:SparkSession = SparkSession.builder()
.master("local[3]")
.appName("SparkByExamples")
.getOrCreate()
spark.sparkContext.setLogLevel("ERROR")
val schema = StructType(
List(
StructField("Zipcode", IntegerType, true),
)
)
val df = spark.readStream
.schema(schema)
.json("Your directory")
df.printSchema()
val groupDF = df.select("Zipcode")
.groupBy("Zipcode").count()
groupDF.printSchema()
groupDF.writeStream
.format("console")
.outputMode("complete")
.start()
.awaitTermination()
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.