Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说Spark、lceberg、Minio 集成环境搭建,希望能够帮助你!!!。
采用Spark、Iceberg、Minio搭建轻量级集群环境。
1、采用 对象存储 minio 集群;
2、使用lceberg对数据组织进行管理;
3、spark版本采用 spark-3.2.1-bin-hadoop3.2.tgz;
1、minio 配置
参考:http://www.minio.org.cn/download.shtml#/linux
2、spark 配置
修改 SPARK_HOME/conf 目录中的 spark-defaults.conf 文件,添加以下内容
参考:http://docs.minio.org.cn/docs/master/disaggregated-spark-and-hadoop-hive-with-minio
3、下载 lceberg 包
官网地址:https://iceberg.apache.org/docs/latest/getting-started/
Jar包下载地址:https://search.maven.org/remotecontent?filepath=org/apache/iceberg/iceberg-spark-runtime-3.2_2.12/0.13.1/iceberg-spark-runtime-3.2_2.12-0.13.1.jar
4、下载所需的jar包
maven仓库下载地址:https://search.maven.org/
当前使用的是spark3.2.1,所以需要按以下方式进行修改(/opt/spark-3.2.1/jars):
备份:mv guava-14.0.1.jar guava-14.0.1.jar_bak
下载:
hadoop-aws-3.3.1.jar
guava-28.0-jre.jar
aws-sdk-java-2.17.179.jar
aws-java-sdk-bundle-1.11.793.jar
以上下载的jar包放到 /opt/spark-3.2.1/jars 下,如图:
注:以上配置好后,重启Spark集群服务。
/opt/spark-3.2.1/bin/spark-shell --master spark://centos4:7078 \
--driver-memory 512m --executor-memory 512m --conf spark.cores.max=2 \
--jars /root/tmp/ojdbc6.jar \
--conf spark.sql.extensions=org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions \
--conf spark.sql.catalog.dev=org.apache.iceberg.spark.SparkCatalog \
--conf spark.sql.catalog.dev.type=hadoop \
--conf spark.sql.catalog.dev.io-impl=org.apache.iceberg.hadoop.HadoopFileIO \
--conf spark.sql.catalog.dev.warehouse=s3a://warehouse
导入所需包
import scala.collection.mutable.ArrayBuffer
import org.apache.spark.sql.SaveMode
val prop = new java.util.Properties
prop.setProperty("driver","oracle.jdbc.driver.OracleDriver")
prop.setProperty("user","username")
prop.setProperty("password","password")
val df = spark.read.jdbc("jdbc:oracle:thin:@192.168.0.1:1521/demo","tbl_hello",prop)
df.writeTo("dev.db.tset_hello").createOrReplace()
更多使用方法参考:https://iceberg.apache.org/docs/latest/getting-started/
今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
上一篇
已是最后文章
下一篇
已是最新文章