当前位置: 首页 > news >正文

SeaTunnel系列之:部署SeaTunnel的Spark和Flink引擎

SeaTunnel系列之:部署SeaTunnel的Spark和Flink引擎

  • 运行 SeaTunnel
  • 快速开始使用 Flink
  • 快速开始使用 Spark

运行 SeaTunnel

现在您已经下载了 SeaTunnel 二进制包和连接器插件。接下来,您可以选择不同的引擎选项来运行同步任务。

如果您使用 Flink 运行同步任务,则无需部署 SeaTunnel 引擎服务集群。您可以参考使用 Flink 快速开始来运行您的同步任务。

如果您使用 Spark 运行同步任务,则同样无需部署 SeaTunnel 引擎服务集群。您可以参考使用 Spark 快速开始来运行您的同步任务。

如果您使用内置的 SeaTunnel 引擎(Zeta)来运行任务,则需要先部署 SeaTunnel 引擎服务。请参考使用 SeaTunnel 引擎快速开始。

快速开始使用 Flink

步骤 1: 部署 SeaTunnel 和连接器
在开始之前,请确保已按照部署中的描述下载并部署了 SeaTunnel。

步骤 2: 部署和配置 Flink
请首先下载 Flink(所需版本 ‍>= 1.12.0)。

配置 SeaTunnel: 修改 ${SEATUNNEL_HOME}/config/seatunnel-env.sh 中的设置,并将 FLINK_HOME 设置为 Flink 的部署目录。

步骤 3: 添加作业配置文件以定义作业

编辑 config/v2.streaming.conf.template,该文件确定 Seatunnel 启动后数据输入、处理和输出的方式和逻辑。以下是配置文件的一个示例,与上述提到的示例应用相同。

env {
  parallelism = 1
  job.mode = "BATCH"
}

source {
  FakeSource {
    plugin_output = "fake"
    row.num = 16
    schema = {
      fields {
        name = "string"
        age = "int"
      }
    }
  }
}

transform {
  FieldMapper {
    plugin_input = "fake"
    plugin_output = "fake1"
    field_mapper = {
      age = age
      name = new_name
    }
  }
}

sink {
  Console {
    plugin_input = "fake1"
  }
}

第 4 步:运行 SeaTunnel 应用程序

您可以使用以下命令启动应用程序:

对于 Flink 版本在 1.12.x 到 1.14.x 之间的:

cd "apache-seatunnel-${version}"
./bin/start-seatunnel-flink-13-connector-v2.sh --config ./config/v2.streaming.conf.template

对于 Flink 版本在 1.15.x 到 1.18.x 之间的:

cd "apache-seatunnel-${version}"
./bin/start-seatunnel-flink-15-connector-v2.sh --config ./config/v2.streaming.conf.template

查看输出:当您运行命令时,可以在控制台中看到其输出。这是判断命令是否成功执行的标志。

SeaTunnel 控制台将打印如下日志:

fields : name, age
types : STRING, INT
row=1 : elWaB, 1984352560
row=2 : uAtnp, 762961563
row=3 : TQEIB, 2042675010
row=4 : DcFjo, 593971283
row=5 : SenEb, 2099913608
row=6 : DHjkg, 1928005856
row=7 : eScCM, 526029657
row=8 : sgOeE, 600878991
row=9 : gwdvw, 1951126920
row=10 : nSiKE, 488708928
row=11 : xubpl, 1420202810
row=12 : rHZqb, 331185742
row=13 : rciGD, 1112878259
row=14 : qLhdI, 1457046294
row=15 : ZTkRx, 1240668386
row=16 : SGZCr, 94186144

快速开始使用 Spark

步骤 1: 部署 SeaTunnel 和连接器
在开始之前,请确保您已按照部署中的描述下载并部署了 SeaTunnel。

步骤 2: 部署和配置 Spark
请先下载 Spark(所需版本 ‍>= 2.4.0)。更多信息请参阅快速开始: 独立模式。
配置 SeaTunnel:更改 ${SEATUNNEL_HOME}/config/seatunnel-env.sh 中的设置,并将 SPARK_HOME 设置为 Spark 的部署目录。

步骤 3: 添加作业配置文件以定义作业
编辑 config/seatunnel.streaming.conf.template,该文件确定 SeaTunnel 启动后数据输入、处理和输出的方式和逻辑。以下是配置文件的一个示例,与上述示例应用相同。

env {
  parallelism = 1
  job.mode = "BATCH"
}

source {
  FakeSource {
    plugin_output = "fake"
    row.num = 16
    schema = {
      fields {
        name = "string"
        age = "int"
      }
    }
  }
}

transform {
  FieldMapper {
    plugin_input = "fake"
    plugin_output = "fake1"
    field_mapper = {
      age = age
      name = new_name
    }
  }
}

sink {
  Console {
    plugin_input = "fake1"
  }
}

步骤4:运行SeaTunnel应用程序

您可以通过以下命令启动应用程序:

Spark 2.4.x

cd "apache-seatunnel-${version}"
./bin/start-seatunnel-spark-2-connector-v2.sh \
--master local[4] \
--deploy-mode client \
--config ./config/v2.streaming.conf.template

Spark3.x.x

cd "apache-seatunnel-${version}"
./bin/start-seatunnel-spark-3-connector-v2.sh \
--master local[4] \
--deploy-mode client \
--config ./config/v2.streaming.conf.template

查看输出:当你运行命令时,可以在控制台中看到其输出。这是判断命令是否成功执行的标志。

SeaTunnel 控制台将打印如下日志:

fields : name, age
types : STRING, INT
row=1 : elWaB, 1984352560
row=2 : uAtnp, 762961563
row=3 : TQEIB, 2042675010
row=4 : DcFjo, 593971283
row=5 : SenEb, 2099913608
row=6 : DHjkg, 1928005856
row=7 : eScCM, 526029657
row=8 : sgOeE, 600878991
row=9 : gwdvw, 1951126920
row=10 : nSiKE, 488708928
row=11 : xubpl, 1420202810
row=12 : rHZqb, 331185742
row=13 : rciGD, 1112878259
row=14 : qLhdI, 1457046294
row=15 : ZTkRx, 1240668386
row=16 : SGZCr, 94186144

相关文章:

  • 时序数据库 TDengine Cloud 私有连接实战指南:4步实现数据安全传输与成本优化
  • (二)链表结构
  • Redis-一般操作
  • 深入理解CSS对齐属性:align-items, align-self, justify-items, justify-self
  • EasyExcel结合多线程+控制sheet页全量导出
  • 【每日随笔】目标制定的 “ 降维哲学 “ ( 目标过高引发 “ 行动力损耗 “ | 目标过低引发 “ 结果递减 “ | 目标制定最佳策略 )
  • 【Java设计模式】第2章 UML急速入门
  • #MongoDB 快速上手
  • swift-08-属性、汇编分析inout本质
  • StarRocks 助力首汽约车精细化运营
  • react实现上传图片到阿里云OSS以及问题解决(保姆级)
  • Spring中使用Kafka的详细配置,以及如何集成 KRaft 模式的 Kafka
  • 数据结构和算法(十二)--最小生成树
  • 做好一个测试开发工程师第二阶段:java入门:idea新建一个project后默认生成的.idea/src/out文件文件夹代表什么意思?
  • 基于开源AI大模型AI智能名片S2B2C商城小程序,探究私域电商中人格域积累与直播电商发展
  • 每日算法-250408
  • 使用Java多线程和POI进行Elasticsearch大批量数据导出
  • linux开发环境
  • 物联网外设管理服务平台
  • 吊舱的陀螺稳定系统技术要点!
  • 网站建设几大技巧/百度热搜的含义
  • 在线做图表的网站/磁力搜索引擎不死鸟
  • 如何做企业套模网站/百度网盘电脑版下载
  • 网站建设价格组成/seo商学院
  • 怎样用自己的电脑 做网站/网络营销策划创意案例点评
  • 衡水哪个公司做网站好/合肥网站推广优化公司