news 2026/4/18 15:59:43

Mysql入湖Iceberg

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Mysql入湖Iceberg

Mysql入湖Iceberg

使用Scala实现Spark高可用集群读取Mysql数据写入Iceberg数据湖,数据存储于Hadoop高可用集群

  • Spark 3.3.3
  • Hadoop 3.3.6
  • Iceberg 1.3.0

代码

packagecom.czl.datalake.template.iceberg.mysqlimportorg.apache.spark.sql.SparkSessionobjectTest{defmain(args:Array[String]):Unit={//windows环境测试需要配置// System.setProperty("hadoop.home.dir", "D://hadoop3.3.0")// System.setProperty("HADOOP_USER_NAME", "czl")valspark=SparkSession.builder().appName("mysqlToIceberg").config("spark.sql.catalog.czlCatalog","org.apache.iceberg.spark.SparkCatalog").config("spark.sql.catalog.czlCatalog.type","hadoop")//hadoop文件系统路径.config("spark.sql.catalog.czlCatalog.warehouse","/data").getOrCreate()try{// 1. 读取MySQL数据valmysqlDF=spark.read.format("jdbc").option("url","jdbc:mysql://10.10.10.10:6033").option("driver","com.mysql.cj.jdbc.Driver").option("user","root").option("password","root")//库名.表名.option("dbtable","testDb.testTable").load()//写入Iceberg表mysqlDF.write.format("iceberg")//存储在hadoop上的,库名.表名.save("czlCatalog.testDb.testTable")}catch{casee:Exception=>e.printStackTrace()}finally{spark.stop()}}}

依赖参考

<?xml version="1.0" encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>dataLake-template-iceberg</artifactId><groupId>com.czl</groupId><version>1.0</version></parent><modelVersion>4.0.0</modelVersion><artifactId>dataLake-template-iceberg-spark-mysql</artifactId><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target></properties><dependencies><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.24</version></dependency><dependency><groupId>org.apache.spark</groupId><artifactId>spark-sql_2.12</artifactId><version>3.3.3</version></dependency><dependency><groupId>org.apache.iceberg</groupId><artifactId>iceberg-spark-runtime-3.3_2.12</artifactId><version>1.3.0</version></dependency></dependencies><build><plugins><plugin><groupId>org.scala-tools</groupId><artifactId>maven-scala-plugin</artifactId><version>2.15.2</version><executions><execution><goals><!--编译源码--><goal>compile</goal><!--编译测试源码--><goal>testCompile</goal></goals></execution></executions></plugin></plugins></build></project>

提示

  • core-site.xml,hdfs-site.xml文件放置在resources文件夹下,以便于识别到Hadoop集群
  • Spark高可用集群,每个节点上传mysql-connector-java-8.0.33.jariceberg-spark-runtime-3.3_2.12-1.3.0.jar这两个必须使用的依赖。

本地模式提交

./spark-submit --master local[*]--class com.czl.datalake.template.iceberg.mysql.Test /opt/dataLake-template-iceberg-spark-mysql-1.0.jar

集群模式提交,jar在本地

./spark-submit --master spark://node1:7077 --deploy-mode cluster --class com.czl.datalake.template.iceberg.mysql.Test /opt/dataLake-template-iceberg-spark-mysql-1.0.jar

集群模式提交,jar在Hadoop

./spark-submit --master spark://node1:7077 --deploy-mode cluster --class com.czl.datalake.template.iceberg.mysql.Test hdfs://ling//workspace/project/dataLake-template-iceberg-spark-mysql-1.0.jar

Yarn模式提交,jar在Hadoop

./spark-submit --masteryarn--deploy-mode cluster --class com.czl.datalake.template.iceberg.mysql.Test hdfs://ling//workspace/project/dataLake-template-iceberg-spark-mysql-1.0.jar
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 8:35:03

ZigBee:低功耗物联的“网状神经”——成都泽耀

一、什么是ZigBee&#xff1f; ZigBee&#xff0c;也称紫蜂&#xff0c;是一种低速、低功耗、低成本的无线网络协议&#xff0c;其底层基于IEEE 802.15.4标准&#xff0c;专为低数据速率、长时间运行的无线传感与控制网络而设计。它支持大规模节点组网与多种网络拓扑&#xff0…

作者头像 李华
网站建设 2026/4/17 14:05:06

Excalidraw入驻DooTask,开启手绘协作新时代

Excalidraw入驻DooTask&#xff0c;开启手绘协作新时代 当团队会议中的“我意思是……”变成反复澄清的循环&#xff0c;当产品需求在层层转述中逐渐失真——我们不得不承认&#xff1a;纯文本和线性流程&#xff0c;正在扼杀协作的原始生命力。就在这个节点&#xff0c;DooTas…

作者头像 李华
网站建设 2026/4/18 5:33:30

【工具】制作电脑托盘音乐频谱显示工具

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你&#xff0c;欢迎[点赞、收藏、关注]哦~ 效果演示&#xff1a; Github: https://github.com/1061700625/SpectraTray 下载链接(github)&#xff1a;https://github.com/1061700625/SpectraTra…

作者头像 李华
网站建设 2026/4/18 12:33:47

TensorRT-LLM性能调优:提升LLM推理效率

TensorRT-LLM性能调优&#xff1a;提升LLM推理效率 在当前大语言模型&#xff08;LLM&#xff09;广泛应用的背景下&#xff0c;一个70B参数级别的模型若以原生PyTorch部署&#xff0c;单次生成可能消耗数GB显存、延迟高达秒级&#xff0c;吞吐量却仅有几百tokens/秒。这种资源…

作者头像 李华
网站建设 2026/4/18 10:19:12

差热分析仪厂家推荐排行榜:2025最新性价比之选

在选择差热分析仪时&#xff0c;企业常常遭遇“测量精度低”“稳定性差”“售后技术支持不足”等问题&#xff0c;导致实验数据不准确&#xff0c;影响研发进程和产品质量。基于对 500 科研机构和企业的调研&#xff0c;从测量精度、稳定性、售后服务、性价比 4 大维度筛选出这…

作者头像 李华
网站建设 2026/4/18 8:55:43

数据治理之“元数据”

1. 定义 元数据描述的不是特定的实例或记录&#xff0c;而是表示数据的类型、名称、值&#xff0c;以及数据所属的业务域、取值范围、业务规则、数据来源、数据间的关系等数据上下文&#xff0c;来帮助我们理解现有数据。 2. 类型 元数据的三种类型&#xff1a; 业务元数据技术…

作者头像 李华