Hudi 安装部署

2024-07-16 warehouse hudi

这里简单介绍如何部署 Spark 相关的 Hudi 环境。

源码编译

不同的 Hudi 版本支持的 Spark 版本不同,只提供了默认的依赖编译,可以从 Spark Support Matrix 中进行查看所支持的版本,如果默认与使用环境不同,那么就需要编译生成所需的包。

对于 Spark 来说,以 3.4.3 版本为例,可以直接下载 spark-3.4.3-bin-hadoop3.tgz 二进制包进行安装,在 pom.xm 修改 hadoop.versionhive.versionspark3.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'