可以导出数据帧/集的 Spark 逻辑或物理计划,将其序列化并将其保存在某处(作为文本、xml、json ...)。然后重新导入它,并基于它创建一个数据框?
这里的想法是,我有兴趣为 Spark 数据帧建立一个元存储,我可以在其中保存数据帧的逻辑或物理计划,以便其他人可以使用它们。
可以导出数据帧/集的 Spark 逻辑或物理计划,将其序列化并将其保存在某处(作为文本、xml、json ...)。然后重新导入它,并基于它创建一个数据框?
这里的想法是,我有兴趣为 Spark 数据帧建立一个元存储,我可以在其中保存数据帧的逻辑或物理计划,以便其他人可以使用它们。
spark 2.4.2
对于较低版本的 spark,以下代码可能会有所不同。
检查下面的代码。
spark.read.json(Seq(df.queryExecution.logical.toJSON).toDS).write.format("json").save("logical")
spark.read.json(Seq(df.queryExecution.sparkPlan.toJSON).toDS).write.format("json").save("sparkPlan")
spark.read.json(Seq(df.queryExecution.executedPlan.toJSON).toDS).write.format("json").save("executedPlan")
spark.read.json(Seq(df.queryExecution.analyzed.toJSON).toDS).write.format("json").save("analyzed")