腾讯云MR任务调度同步

1、首先创建一个workflow工作流,拖取HiveServer2 和Sub-workflow 控件
HiveServer2控件针对Hsql脚本,Sub-workflow复用Shell sqoop同步脚本
如图:
在这里插入图片描述
2、shell sqoop同步脚本
参考1,拖取shell 脚本控件,如图
在这里插入图片描述这里涉及到参数传递以及环境设置
特别是FILE那块的设置

–CDH版本
在这里插入图片描述

3、shell脚本如下:

在这里插入图片描述#!/bin/bash
#下面这段参数只针对腾讯云,CDH版本不需要
basepath=$(cd dirname $0; pwd)
export SQOOP_HOME= b a s e p a t h / a p p l i c a t i o n / s q o o p e x p o r t S Q O O P C O N F D I R = basepath/application/sqoop export SQOOP_CONF_DIR= basepath/application/sqoopexportSQOOPCONFDIR=SQOOP_HOME/conf
export PATH= S Q O O P H O M E / b i n : SQOOP_HOME/bin: SQOOPHOME/bin:PATH

表名

table_name=$1
pd_sum_date=$2
pd_date=$3

sqoop eval
–connect jdbc:mysql://xx.xx.xx.xx:xx/xx
–username xx
–password xx
-e “delete from t a b l e n a m e w h e r e s u m d a t e = ′ {table_name} where sum_date = ' tablenamewheresumdate={pd_sum_date}’”

sqoop export
–connect “jdbc:mysql://xx.xx.xx.xx:xx/xx ?useUnicode=true&characterEncoding=utf-8”
–username xxx
–password xxx
–table KaTeX parse error: Undefined control sequence: \ at position 14: {table_name} \̲ ̲--export-dir /a…{table_name}/dt=${pd_date}
–input-fields-terminated-by ‘\001’
–input-null-string ‘\N’ --input-null-non-string ‘\N’

4、调度设置
在这里插入图片描述
Parameters
pd_date ${coord:formatTime(coord:nominalTime(), ‘yyyyMMdd’)}
last_kjqj ${coord:formatTime(coord:dateOffset(coord:nominalTime(), -2, ‘MONTH’), ‘yyyyMM’)}
cur_kjqj ${coord:formatTime(coord:dateOffset(coord:nominalTime(), -1, ‘MONTH’), ‘yyyyMM’)}
pd_sum_date ${coord:formatTime(coord:nominalTime(), ‘yyyy-MM-dd’)}
pm_mon ${coord:formatTime(coord:dateOffset(coord:nominalTime(), -1, ‘MONTH’), ‘yyyyMM’)}
k_kjnd ${coord:formatTime(coord:nominalTime(), ‘yyyy’)}
up_kjqj ${coord:formatTime(coord:dateOffset(coord:nominalTime(), -3, ‘MONTH’), ‘yyyyMM’)}
k_beginofmon ${coord:formatTime(coord:nominalTime(), ‘yyyyMM’)}01

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值