我一直在使用Pyspark在Azure事件中心上开发概念证明,将JSON数据流传输到Azure Databricks Notebook。在我看到的示例中,我按如下所示创建了我的粗略代码,将数据从事件中心收集到将用作目标的增量表中]
connectionString = "My End Point" ehConf = {'eventhubs.connectionString' : connectionString} df = spark \ .readStream \ .format("eventhubs") \ .options(**ehConf) \ .load() readEventStream = df.withColumn("body", \ df["body"].cast("string")). \ withColumn("date_only", to_date(col("enqueuedTime"))) readEventStream.writeStream.format("delta") \ .outputMode("append") \ .option("checkpointLocation", "/delta/testSink/streamprocess") \ .table("testSink")
阅读了谷歌搜索之后,df和readEventStream数据帧会发生什么?它们会在保留数据时变得更大吗?还是在正常过程中将其清空?还是只是将数据转储到Delta表之前的临时存储?在写到Delta表之前,是否可以设置流的X项数量?
谢谢
我一直在使用Pyspark在Azure事件中心上开发概念证明,将JSON数据流传输到Azure Databricks Notebook。在我看到的示例中,我创建了如下粗略的代码,采用...
我仔细阅读了pyspark.sql module
的PySpark官方文档中的代码中使用的API的描述,我认为越来越大的内存使用量是由函数pyspark.sql module
引起的,如下图所示, table(tableName)
,不适用于streaming