Sqoop 脚本开发规范

举报
Smy1121 发表于 2019/06/21 15:06:15 2019/06/21
【摘要】 Sqoop 脚本开发规范

Sqoop 脚本开发规范

目录规范


1.目录结构体系

/home/hadoop(开发用户)/app/djt(数据来源、业务)/sh/sqoop


示例:/home/hadoop/app/djt/sh/sqoop


home/hadoop(开发用户)/app/djt(数据来源、业务)/sh/param


示例:/home/hadoop/app/djt/sh/param


2.脚本文件命名规范

2.1文件名规范:数据库类型_数据层_日期_表实体命名。

2.2文件扩展名规范:扩展名为sh。

2.3文件名命名举例:sq_ods_d_djt_user_copy.sh


3.脚本运行、调试、编辑

3.1脚本运行环境


在liunx操作系统上运行,通过命令方式调用脚本


3.2调用脚本和终止脚本

3.2.1可以用多种方式调用脚本如下


a)Sh 脚本名

b)./脚本名

c)Source 脚本名

/xxxx/xxx/脚本名 -----脚本的全路径


3.2.2终止脚本

通过ps命令查询到正在执行脚本的进程,用kill命令杀掉执行中的脚本。

ps –ef|grep 脚本名;

kill 脚本的进程


3.2.3编辑工具

使用linux系统自带的vi编辑,UE等


4.脚本注释说明

脚本中需要有基本的注释信息方便以后维护,如参数、执行示例、脚本存放位置、日志文件地址、创建人、创建日期等信息。


脚本注释示例:

###################################################################


#说明:将用户数据从HDFS导入MySQL


#参数CONNECTURL 说明:MySQL 连接地址 示例:jdbc:mysql://dwq/djtdb_test


#参数USERNAME 说明:MySQL 账号 示例:root


#参数PASSWORD 说明:MySQL 密码 示例:root


#执行示例: sh /home/hadoop/app/djt/sh/sqoop/sq_ods_d_djt_user_copy.sh


#脚本存放地址:/home/hadoop/app/djt/sh/sqoop


#日志文件地址:/home/hadoop/app/djt/sh/log


#创建人:dwq


#创建日期:20181201


#最新修改日期:20190101


#修改人、修改时间、修改内容:xxxxxxxxxxxxxxxxx


#修改人、修改时间、修改内容:xxxxxxxxxxxxxxxxx


###################################################################


5.脚本变量、参数命名规范


1)脚本变量命名

变量名:v_开头


2)参数命名

表名参数: v_tableName

导出字段参数:v_fields

导出文件目录:v_src


6.脚本环境变量配置文件规范

配置文件是脚本中用到的环境变量,mysql连接,公共脚本地址等都放到配置文件用方便以后管理。


1) 配置文件存放路径及其命名配置文件路径及命名:/home/hadoop/app/djt/sh/param/sq_shell.config

2) 配置文件中示例内容如下

CONNECTURL=jdbc:mysql://dwq/djtdb_test

USERNAME=root

PASSWORD=root


3) 配置文件编写规范:配置文件中以等号做分割符,第一列是变量名需要大写


7.编写脚本环境变量配置文件

vi /home/hadoop/app/djt/sh/param/sq_shell.config

CONNECTURL='jdbc:mysql://192.168.8.200/djtdb_test?useUnic

ode=true&characterEncoding=utf-8'

USERNAME='root'

PASSWORD='111111'


8.编写sqoop执行脚本


vi

/home/hadoop/app/djt/sh/sqoop/sq_ods_d_djt_user_copy.sh

#! /bin/sh

source /etc/profile

source /home/hadoop/app/djt/sh/param/sq_shell.config


#表名称

v_tableName=djt_user_copy


#需要导入的表字段

v_fields=name,sex,age,profile


#HDFS数据存放地址

v_src=/sqoop/test/djt_user


sqoop export \

--connect $CONNECTURL \

--username $USERNAME \

--password $PASSWORD \

--table $v_tableName \

--columns $v_fields \

--export-dir $v_src \

--input-fields-terminated-by "@" \

-m 1


【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。