DeltaLake批处理:数据表的读取与写入

DeltaLake支持大部分由Spark DataFrame提供的Opition选项

SparkSession的配置

import org.apache.spark.sql.SparkSession
val spark = SparkSession
  .builder()
  .appName("demo")
  .master("demo")
  .config("spark.sql.extensions", "io.delta.sql.DeltaSparkSessionExtension")
  .config("spark.sql.catalog.spark_catalog", "org.apache.spark.sql.delta.catalog.DeltaCatalog")
  .getOrCreate()

创建表

DeltaLake支持通过路径或者元数据查询表,如下:
spark.table("events")      // 通过元数据查询

spark.read.format("delta").load("/delta/events")  // 通过路径查询

import io.delta.implicits._
spark.read.delta("/delta/events")
DeltaLake读取分区表,如下:
df.write.format("delta").partitionBy("date").saveAsTable("events")      // create table in the metastore

df.write.format("delta").partitionBy("date").save("/delta/events")  // create table by path

DeltaLake也支持读取比较旧的数据快照,如下:

spark.read.format("delta").option("versionAsOf","0")  // _delta_log下的0,1,2是版本号
spark.read.format("delta").load("/path/to/my/table@v1") # @v1就是第一个版本

DeltaLake目录下为

image.png

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容