Iceberg从入门到精通系列之十五:Spark集成Iceberg
- 一、下载Spark安装包
- 二、解压Spark安装包
- 三、配置环境变量
- 四、激活环境变量
- 五、下载Spark iceberg的jar包
- 六、Spark集成Iceberg
- 七、Spark配置Catalog
- 八、配置Hive Catalog
- 九、配置Hadoop Catalog
- 十、spark集成hive
- 十、启动Spark shell
一、下载Spark安装包
下载spark-3.4.1:
二、解压Spark安装包
tar -zxvf spark-3.4.1-bin-hadoop3.tgz
mv spark-3.4.1-bin-hadoop3 spark-3.4.1
三、配置环境变量
export SPARK_HOME=/opt/module/spark-3.4.1
export PATH=$PATH:$SPARK_HOME/bin
四、激活环境变量
source /etc/profile.d/spark_env.sh
五、下载Spark iceberg的jar包
下载Spark iceberg的jar包:
或者从Iceberg官网下载:
六、Spark集成Iceberg
cp iceberg-spark-runtime-3.4_2.13 /module/spark-3.4.1/jars/
七、Spark配置Catalog
Spark支持两种Catalog的设置:
- hive和hadoop
Hive Catalog就是Iceberg表存储使用Hive默认的数据路径,Hadoop Catalog需要指定Iceberg格式表存储路径。
八、配置Hive Catalog
vim conf/spark-defaults.conf
spark.sql.catalog.hive_prod
org.apache.iceberg.spark.SparkCatalog
spark.sql.catalog.hive_prod.type = hive
spark.sql.catalog.hive_prod.url = thrift://hadoop1:9083
九、配置Hadoop Catalog
vim conf/spark-defaults.conf
spark.sql.catalog.hadoop_prod = org.apache.iceberg.spark.SparkCatalog
spark.sql.catalog.hadoop_prod.type = hadoop
spark.sql.catalog.hadoop_prod.warehouse = hdfs://hadoop1:8020/warehouse/spark-iceberg
十、spark集成hive
Hive引入Iceberg的jar包:
mkdir auxlib
cp iceberg-hive-runtime-1.1.0.jar /opt/module/hive/auxlib
cp libfb303-0.9.3.jar /opt/module/hive/auxlib
spark-env.sh中添加hive配置
export HIVE_CONF_DIR=/moudle/hive-3.4.1/conf
复制hive配置文件到Iceberg的目录下
cp /opt/module/hive/conf/hive-site.xml ./conf/
十、启动Spark shell
bin/spark-sql