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
- 点赞
- 收藏
- 关注作者
评论(0)