news 2026/10/5 3:40:13

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.jar和iceberg-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/10/4 18:24:30

力扣701 二叉搜索树中的插入操作 java实现

701.二叉搜索树中的插入操作给定二叉搜索树&#xff08;BST&#xff09;的根节点 root 和要插入树中的值 value &#xff0c;将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 输入数据 保证 &#xff0c;新值和原始二叉搜索树中的任意节点值都不同。注意&#xff0c;可能…

作者头像 李华
网站建设 2026/10/5 2:22:28

TensorFlow-GPU安装全指南:版本匹配与实操避坑

TensorFlow-GPU 安装实战指南&#xff1a;绕过版本陷阱&#xff0c;一次成功 在深度学习的世界里&#xff0c;本地 GPU 环境就像炼丹炉——谁不想亲手点燃那团算力之火&#xff1f;可现实往往是&#xff1a;折腾三天三夜&#xff0c;连 tf.device(/GPU) 都跑不通。报错信息五花…

作者头像 李华
网站建设 2026/10/5 5:03:50

LobeChat能否实现AI猜谜游戏?娱乐化交互场景开发

LobeChat能否实现AI猜谜游戏&#xff1f;娱乐化交互场景开发 在智能对话系统日益普及的今天&#xff0c;用户早已不满足于“问一句答一句”的机械互动。他们期待的是更自然、更有趣、甚至带点“人情味”的交流体验——比如和一个会出谜题、能引导思考、还会适时鼓励你的AI玩一场…

作者头像 李华
网站建设 2026/10/5 9:29:30

和鲸科技创始人CEO 范向伟受邀赴港亮相 AI 赋能・科技自立 —— 中小企业创新与机遇高峰论坛并做主题演讲

本文内容节选自&#xff1a;香港中小上市公司协会&#xff0c;内容略有删改2025年12月5日&#xff0c;由香港中小上市公司协会&#xff08;下文简称「协会」&#xff09;联同深圳市金融商会主办的「AI赋能・科技自立——中小企业创新与机遇高峰论坛」&#xff0c;于香港四季酒店…

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

Cypress 入门与优势分析:前端自动化测试的新利器

近两年&#xff0c;前端自动化测试在各大互联网团队中越来越火&#xff0c;而 Cypress 作为新一代前端自动化框架&#xff0c;成为开发和 QA 团队热议的对象。 本文将从前端测试痛点、核心功能、Cypress 流程和对比分析带你快速了解它的价值。 1. 前端自动化测试痛点 调试困难…

作者头像 李华
网站建设 2026/10/4 16:17:07

鸿蒙高性能图形绘制

说明 HarmonyOs ArkGraphics 2D&#xff08;方舟2D图形服务 &#xff09;提供的绘制引擎&#xff0c;如果在 ArkUI 侧绘制&#xff0c;对绘制性能有高要求的话&#xff0c;那就直接放弃&#xff0c;转Native绘制配合 GPU 后端渲染。&#xff08;想到这儿我浑身难受&#xff09…

作者头像 李华