IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 基于dolphinscheduler的增量数据同步至hive分区表 -> 正文阅读

[大数据]基于dolphinscheduler的增量数据同步至hive分区表


前言

本文主要介绍dolphinsccheduler集成datax以及hive后增量数据的集成问题


提示:以下是本篇文章正文内容,下面案例可供参考

一、创建新的hive分区表

1.外部分区表sql准备

示例:创建外部表

CREATE EXTERNAL TABLE `repair_bi`(
	`id` INT COMMENT 'id', 
	`product_order_id` STRING COMMENT '产品序列号', 
	`RMA_id` STRING COMMENT 'RMA单号',)
 COMMENT 'This is the repair table'
 partitioned by(`statis_date` string)
 ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
 STORED AS TEXTFILE
 LOCATION 'hdfs://nncluster/hivedata/repairdata/repair/'

2.创建工作流

在这里插入图片描述

3、将sql语句写入工作流中

在这里插入图片描述

4、保存选择租户,上线运行

在这里插入图片描述
在这里插入图片描述

5、任务实例中查看运行状态,状态:成功 即创建成功,可以通过hive的beeline客户端执行如下命令查看表创建详情

show create table repair_bi;

二、hive分区表创建好后需要增加分区,使用shell命令创建分区

注:本次使用shell工作流的原因是,dolphinscheduler集成的sql组件中在定位分区文件位置时候路径会解析错误。(也可能是我自己的问题没有找到正确的使用方式,但是sql在beeline中执行确实没问题)

1、添加每天的定时增加分区任务

创建hql文件并将hql文件上传至资源中心

repair_hive.hql 内容:

alter table repair_bi
add partition(statis_date='${statis_date}') 
location '/hivedata/repairdata/repair/${statis_date}';

在这里插入图片描述

2、配置shell命令,使用hivevar的方式提交参数

 hive -hivevar statis_date='${statis_date}' -S -f 
 hdfs://nncluster/data/dolphinscheduler/dolphinscheduler/resources/sql/repair_partition.hql 

3、配置参数:

1)增加自定义变量

在这里插入图片描述

2)点击保存 并增加系统变量

在这里插入图片描述
参数定义如下:

* 后 N 年:$[add_months(yyyyMMdd,12*N)]
* 前 N 年:$[add_months(yyyyMMdd,-12*N)]
* 后 N 月:$[add_months(yyyyMMdd,N)]
* 前 N 月:$[add_months(yyyyMMdd,-N)]
* 后 N 周:$[yyyyMMdd+7*N]
* 前 N 周:$[yyyyMMdd-7*N]
* 后 N 天:$[yyyyMMdd+N]
* 前 N 天:$[yyyyMMdd-N]
* 后 N 小时:$[HHmmss+N/24]
* 前 N 小时:$[HHmmss-N/24]
* 后 N 分钟:$[HHmmss+N/24/60]
* 前 N 分钟:$[HHmmss-N/24/60]

4、上线运行即可,如下即分区创建成功

在这里插入图片描述

三、datax同步增量数据只分区中

1、创建datax工作流

在这里插入图片描述

2、配置datax任务

例:

{
  "job": {
    "setting": {
      "speed": {
        "channel": 1,
        "byte": 1048576
      },
      "errorLimit": {
        "record": 1000000,
        "percentage": 0.3
      }
    },
    "content": [
      {
        "reader": {
          "name": "mysqlreader",
          "parameter": {
            "username": "###",
            "password": "###",
            "splitPk": "",
            "connection": [
              {
                "querySql": [
                  "select coalesce(id,0) as id,coalesce(deviceserialnumber,'') as product_order_id,coalesce(rma,'') as RMA_id from  v_rep_device_for_bi WHERE createtime = date_add(curdate(),interval'-1' DAY)"
                ],
                "jdbcUrl": [
                  "jdbc:mysql://10.16.3.81:3306/smartHN"
                ]
              }
            ]
          }
        },
		
		"writer": {
                    "name": "hdfswriter",
                    "parameter": {
                        "column": [
                {"name":"id","type":"INT"},
                {"name":"product_order_id","type":"string"},
                {"name":"RMA_id","type":"string"}
               
                              ],
                        "compress": "gzip",
                        "defaultFS": "hdfs://node1:8020",
                        "fieldDelimiter": ",",
                        "fileName": "repair",
                        "fileType": "text",
                        "path": "/hivedata/repairdata/repair/${statis_date}",
                        "writeMode": "append"
                    }
                }
      }
    ]
  }
}

3、保存,配置参数在这里插入图片描述

4、上线 执行

在这里插入图片描述

5、数据查看

1)、文件中查看

在这里插入图片描述

2)sql查询(使用beeline客户端或者在dolphinshceduler中配置测试任务流查询)

四、创建定时任务

依赖关系为:分区表创建后即可形成分区目录,然后再执行datax数据集成任务

1、创建分区表定时任务

工作流定义中增加定时,编辑,定时设置为每天00:05执行增加昨天分区数据
在这里插入图片描述
在这里插入图片描述

2、点击上图中右侧中间上线 即可上线分区定时任务

3、创建datax定时任务

在这里插入图片描述

4、上线datax数据集成任务

在这里插入图片描述

总结

总体而言还是比较方便的实现增量数据的调度任务

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-07-28 23:17:22  更:2021-07-28 23:17:47 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/6 21:56:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码