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

大数据学习(58)-DolphinScheduler使用DataX实现数据同步

&&大数据学习&&
🔥系列专栏: 👑哲学语录: 承认自己的无知,乃是开启智慧的大门
💖如果觉得博主的文章还不错的话,请点赞👍+收藏⭐️+留言📝支持一下博主哦🤞

一、首页

DolphinScheduler的UI页面首页:

流程:工作流
任务:工作单元

二、工作流基础配置


       工作流配置页面,分为三个模块:工作流定义、工作流实例和任务实例。
       工作流定义:用于定义工作流,包括工作流各个节点(一个工作单元)任务详情和各个节点的依赖关系。
       工作流实例:每执行一次工作流,就会生成一个工作流实例。可以在这个地方查看所有运行过的工作流。
       任务实例:工作流中的每个节点(任务),每执行一次就会生成一个任务实例。在这里可以查看所有执行过的节点任务。

一、编写 DataX 任务配置文件

1. 创建配置文件
  • 在服务器上创建一个 JSON 文件(如 mysql_to_hdfs.json),用于定义 DataX 任务。

2. 配置文件内容
  • 以下是一个完整的 DataX 配置文件示例:

    {
      "job": {
        "content": [
          {
            "reader": {
              "name": "mysqlreader",
              "parameter": {
                "username": "root",
                "password": "123456",
                "column": ["id", "name", "age"],
                "connection": [
                  {
                    "table": ["user"],
                    "jdbcUrl": ["jdbc:mysql://localhost:3306/test"]
                  }
                ]
              }
            },
            "writer": {
              "name": "hdfswriter",
              "parameter": {
                "defaultFS": "hdfs://localhost:9000",
                "fileType": "text",
                "path": "/user/hive/warehouse/user",
                "fileName": "user.txt",
                "writeMode": "truncate",
                "fieldDelimiter": ","
              }
            }
          }
        ],
        "setting": {
          "speed": {
            "channel": 3
          }
        }
      }
    }
3. 参数说明
  • reader:配置 MySQL 数据源。

    • username:MySQL 用户名。

    • password:MySQL 密码。

    • column:需要同步的字段。

    • jdbcUrl:MySQL 连接地址。

    • table:需要同步的表。

  • writer:配置 HDFS 目标。

    • defaultFS:HDFS 地址。

    • path:HDFS 目标路径。

    • fileName:写入的文件名。

    • writeMode:写入模式(如覆盖或追加)。

    • fieldDelimiter:字段分隔符(如逗号)。

三、在 DolphinScheduler 中创建任务

1. 创建项目
  • 在 DolphinScheduler 首页,点击 项目管理

  • 点击 创建项目,输入项目名称(如 data_sync),然后点击 提交

2. 创建工作流
  • 进入刚刚创建的项目,点击 工作流定义

  • 点击 创建工作流,输入工作流名称(如 mysql_to_hdfs),然后点击 确定

3. 添加 Shell 任务
  • 在工作流编辑页面,点击 添加任务,选择 Shell 任务

  • 配置 Shell 任务的参数:

    • 任务名称:例如 run_datax

    • 脚本:填写调用 DataX 的命令。

      python /path/to/datax/bin/datax.py /path/to/mysql_to_hdfs.json
      • /path/to/datax/bin/datax.py:DataX 的执行脚本路径。

      • /path/to/mysql_to_hdfs.json:DataX 任务配置文件的路径。

    • 资源:如果需要上传配置文件(如 mysql_to_hdfs.json),可以在这里上传。

    • 自定义参数:如果需要动态传入参数(如 MySQL 用户名、密码、HDFS 路径等),可以在这里定义。

5. 保存工作流
  • 配置完成后,点击 保存,然后点击 上线,使工作流生效。

6. 运行工作流
  • 在工作流列表页面,找到刚刚创建的工作流,点击 运行

  • 选择运行参数(如果有自定义参数),然后点击 确认,触发任务执行。

四、验证数据同步

1. 查看任务日志
  • 在 DolphinScheduler 中,进入 任务实例 页面,找到刚刚运行的任务。

  • 点击任务名称,查看任务日志,确保任务成功完成。

2. 检查 HDFS 数据
  • 使用 HDFS 命令检查数据是否成功写入:

    hdfs dfs -ls /user/hive/warehouse/user
    hdfs dfs -cat /user/hive/warehouse/user/user.txt


http://www.kler.cn/a/577959.html

相关文章:

  • 如何在DigitalOcean的H100 GPU服务器上运行DeepSeek R1 模型
  • leetcode日记(85)验证二叉搜索树
  • 深度学习驱动的跨行业智能化革命:技术突破与实践创新
  • 鸿蒙Next-应用检测、安装以及企业内部商店的实现
  • 常见的算法题python
  • SecureCRT 文件上传下载操作指南
  • PyTorch系列教程:Tensor.view() 方法详解
  • <script setup>和export default { setup() { ... } }区别
  • 计算机网络-服务器模型
  • pom.xml配置(mybatisplus增删改查实现;PageInfo分页实现;JSONObject实现)
  • Redis 内存淘汰策略深度解析
  • LeetCode - 28 找出字符串中第一个匹配项的下标
  • MySQL 主主复制与 Redis 环境安装部署
  • PHP之数组
  • 【Git】删除文件
  • 用了主键索引反而查询慢?深度解析SQL性能反常识现象
  • git本地仓库链接远程仓库
  • ApoorvCTF Rust语言逆向实战
  • Docker 部署 MongoDB 并持久化数据
  • Android A/B System OTA分析提取 payload 在ZIP包中的 offset 和 size