登录 |  注册 |  繁體中文


sqoop的job详解

分类: 人工智能&大数据 颜色:橙色 默认  字号: 阅读(1787) | 评论(0)

step 1 创建sqoop job
a.配置sqoop metastore服务
修改sqoop/conf/sqoop-site.xml文件

相关属性:

sqoop.metastore.server.location
sqoop.metastore.server.port
sqoop.metastore.client.autoconnect.url

上面三个参数是为了实现共享(shared)metastore,"By default, job descriptions are saved to a private repository stored in $HOME/.sqoop/. You can configure Sqoop to instead use a shared metastore, which makes saved jobs available to multiple users across a shared cluster. Starting the metastore is covered by the section on the sqoop-metastoretool."这样在其他的cluster上就可以共享job并执行。

如果不需要共享job,只需要把上面三个属性在配置文件中用注释掉即可。

sqoop.metastore.client.enable.autoconnect
sqoop.metastore.client.record.password 这个属性是为了保存数据库密码的,默认情况下处于安全需要,不会将密码保存到metastore中,这样每次执行job时就需要重新输入数据库的密码。为了定时执行,我们修改这个属性,是他可以保存密码。

修改如下:


sqoop.metastore.server.location
/tmp/sqoop-metastore/shared.db


sqoop.metastore.server.port
16000


sqoop.metastore.client.autoconnect.url
jdbc:hsqldb:hsql://118.228.197.115:16000/sqoop


sqoop.metastore.client.record.password
true

b.启动metasotre,控制台执行sqoop metastore命令(如果没有配置前三个属性,请跳过此步骤)
c.创建sqoop job

(为了方便执行,将下面的脚本写入到文件保存,然后用chmod u+x FILENAME修改权限后,通过 ./FILENAME执行文件,创建job)

sqoop job --meta-connect jdbc:hsqldb:hsql://hostIP:16000/sqoop --create JOBNAME -- import --hive-import --incremental append --connect jdbc:oracle:thin:@DatabaseIP:1521/INSTANCENAME --username USERNAME --password PASSWD --verbose -m 1 --bindir /opt/sqoop/lib --table TABLENAME --check-column COLUMNNAME --last-value VALUE


注意:

1) 如果前面没有配置共享metastore(即”sqoop.metastore.server.location" 、”sqoop.metastore.server.port“、”sqoop.metastore.client.autoconnect.url“三 个属性在配置文件中已经注释了),那就需要将上面的脚本中 ”--meta-connect jdbc:hsqldb:hsql://hostIP:16000/sqoop“ 去掉。

2) "--create JOBNAME -- import"中”--“后面加一个空格再写import命令,否则执行出错
3) --check-column列不能是char varchar等,可以是date,int,

step 2 执行sqoop job看是否可以顺利进行

 
 sqoop job --list  
 
 sqoop job --exec JOBNAME

step 4 用crontab工具实现定时执行

 执行crontab -e 命令,添加如下一行脚本,保存退出即可

# 每天1点钟执行数据导入job
0 1 * * * sqoop job --exec JOBNAME 1>/root/execlogs 2>&1


上一篇:HBase存储结构   下一篇:php浮点数精确运算

姓 名: *
邮 箱:
内 容: *
验证码: 点击刷新 *   

回到顶部