【spark系列5】spark 3.0.1集成delta 0.7.0原理解析--delta如何进行DDL DML操作以及Catalog plugin API
前提 本文基于 spark 3.0.1 delta 0.7.0 我们都知道delta.io是一个给数据湖提供可靠性的开源存储层的软件,关于他的用处,可以参考 Delta Lake,让你从复杂的Lambda架构中解放出来 ,上篇文章我们分析了 delta是如何自定义自己的sql ,这篇文章我们分析一下delta数据是如何基于Catalog plugin API进行DDL DML sql操作的(spark 3.x以前是不支持的) 分析 delta在0.7.0以前是不能够进行save表操作的,只能存储到文件中,也就是说他的元数据是和spark的其他元数据是分开的,delta是独立存在的,也是不能和其他表进行关联操作的,只有到了delta 0.7.0版本以后,才真正意义上和spark进行了集成,这也得益于spark 3.x的Catalog plugin API 特性。 还是先从delta的 configurate sparksession 入手,如下: import org.apache.spark.sql.SparkSession val spark = SparkSession .builder() .appName("...") .master("...") .config("spark.sql.extensions", "io.delta.sql