前面我们介绍了delta lake,这篇文章我们来介绍下delta lake的安装使用。
在核心上delta lake运行时离不开spark的,虽然他同时支持spark和presto,但是有同学可能问,我如果使用presto是不是就不用spark了,其实不然,因为delta的核心-事物日志就是使用spark来运行的。因此在安装使用Delta Lake数据湖的时候,必须先安装一个spark的环境。由于Delta Lake的发版时间比spark晚很多,因此我们建议安装spark2.4.2及以上的版本即可。在此附上Delta Lake于spark版本的对应表格。
序号 | Delta Lake version | Apache Spark version |
1 | 2.2.x | 3.3.x |
2 | 2.1.x | 3.3.x |
3 | 2.0.x | 3.2.x |
4 | 1.2.x | 3.2.x |
5 | 1.1.x | 3.2.x |
6 | 1.0.x | 3.1.x |
7 | 0.7.x and 0.8.x | 3.0.x |
8 | below 0.7.0 | 2.4.2-2.4.<latest> |
这个表格的详情可以参考官网,链接是:https://docs.delta.io/latest/releases.html
接下来我们说下如何安装,首先先安装一个spark的环境,这里使用单机或者集群都可以,建议使用集群,为了演示,我部署的是Spark3.2.3版本的单机版本。
再安装Delta,但是Delta呢,他不是一个环境,他其实是一个jar包,因此我们不需要安装他,只需要在使用的时候引入这个包即可,例如我们再spark-shell里面引用的话,可以直接执行这行命令:
./spark-shell --packages io.delta:delta-core_2.12:2.0.0 --conf "spark.sql.extensions=io.delta.sql.DeltaSparkSessionExtension" --conf "spark.sql.catalog.spark_catalog=org.apache.spark.sql.delta.catalog.DeltaCatalog"
备注:
1、这里后面的--packages里面是maven的依赖包,我们在这里根据实际情况指定版本运行之后,如果本地spark环境没有对应的jar包,他会自动去maven仓库里面下载。所以执行这行命令就相当于引入了Delta Lake的jar包。
如果是spark项目里面运行的话,直接引入相关的maven依赖即可,例如:
<dependency> <groupId>io.delta</groupId> <artifactId>delta-core_2.12</artifactId> <version>1.2.1</version> </dependency>
如图:
到这里我们的Delta Lake就安装完毕了。
还没有评论,来说两句吧...