gpt4 book ai didi

scala - 在 Databricks 中调用一次 Trigger 以处理 Kinesis Stream

转载 作者:行者123 更新时间:2023-12-04 14:09:47 25 4
gpt4 key购买 nike

我正在寻找一种方法来触发我的 Databricks 笔记本一次以处理 Kinesis Stream 并使用以下模式

 import org.apache.spark.sql.streaming.Trigger

// Load your Streaming DataFrame
val sdf = spark.readStream.format("json").schema(my_schema).load("/in/path")
// Perform transformations and then write…
sdf.writeStream.trigger(Trigger.Once).format("delta").start("/out/path")
看起来 AWS Kinesis 不可能实现,这也是 Databricks 文档所建议的。我的问题是我们还能做些什么来实现这一目标?

最佳答案

正如您在问题中提到的 trigger once isn't supported for Kinesis .
但是您可以通过在图片中添加 Kinesis Data Firehose 来实现您所需要的。将写入数据 from Kinesis into S3 bucket (您可以 select format that you need ,例如 Parquet、ORC,或仅保留 JSON),然后您可以将流作业指向给定的存储桶,并对其使用 Trigger.Once,因为它是一个普通的流源(为了效率,它是最好使用 Databricks 上提供的 Auto Loader)。此外,为了控制成本,您可以为 S3 目标设置保留策略,以便在一段时间(例如 1 周或一个月)后删除或存档文件。

关于scala - 在 Databricks 中调用一次 Trigger 以处理 Kinesis Stream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65281478/

25 4 0