这里简单介绍如何部署 Spark
相关的 Hudi
环境。
源码编译
不同的 Hudi 版本支持的 Spark 版本不同,只提供了默认的依赖编译,可以从 Spark Support Matrix 中进行查看所支持的版本,如果默认与使用环境不同,那么就需要编译生成所需的包。
对于 Spark 来说,以 3.4.3
版本为例,可以直接下载 spark-3.4.3-bin-hadoop3.tgz
二进制包进行安装,在 pom.xm
修改 hadoop.version
、hive.version
、spark3.version
相关参数,然后通过如下方式编译。
二进制包
如果可以使用默认包,可以从 mvn repository 直接下载,对应关键字为 hudi spark3.4 bundle
即可,同时需要下载 spark-avro
对应的包,然后同时保存在 /opt/warehouse/hudi
目录下。
如下是启动 SparkSQL
的命令行,如果要使用 SparkShell
直接将 spark-sql
替换为 spark-shell
即可。
/opt/warehouse/spark/bin/spark-sql --master local[2] \
--jars /opt/warehouse/hudi/spark-avro_2.12-3.4.1.jar \
--jars /opt/warehouse/hudi/hudi-spark3.4-bundle_2.12-0.14.1.jar \
--conf 'spark.serializer=org.apache.spark.serializer.KryoSerializer' \
--conf 'spark.sql.extensions=org.apache.spark.sql.hudi.HoodieSparkSessionExtension' \
--conf 'spark.sql.catalog.spark_catalog=org.apache.spark.sql.hudi.catalog.HoodieCatalog' \
--conf 'spark.kryo.registrator=org.apache.spark.HoodieSparkKryoRegistrar'