我们在使用 Delta 是非常简单的,这也是 Delte Lake 介绍的 100% 兼容 Spark。Delta Lake 写数据是其最基本的功能,而且其使用和现有的 Spark 写 Parquet 文件基本一致,只不过换做成format("delta")。在介绍 Delta Lake 实现原理之前先来看看如何使用它,使用如下:
我的Spark版本是:3.1.1
如果需要使用Delta,我们在启动spark-shell 新增 --packages参数即可
spark-shell --packages io.delta:delta-core_2.12:0.8.0 --conf "spark.sql.extensions=io.delta.sql.DeltaSparkSessionExtension"
第一次使用Delta可能需要点时间,需要下载Delta相关8个 jar包
官方案例:
To create a Delta table, write a DataFrame out in the delta
format. You can use existing Spark SQL code and change the format from parquet
, csv
, json
, and so on, to delta
.
val data = spark.range(0, 5)
data.write.format("delta").save("/tmp/delta-table")
on parquet。
You read data in your Delta table by specifying the path to the files: "/tmp/delta-table"
:
val df = spark.read.format("delta").load("/tmp/delta-table")
df.show()