FusionInsight SqoopShell使用案例

举报
Jia装大佬 发表于 2021/07/23 11:36:22 2021/07/23
【摘要】 1      SqoopShell使用简介sqoop-shell是一个Loader的shell工具,其所有功能都是通过执行脚本“sqoop2-shell”来实现的。sqoop-shell工具提供了如下功能:支持创建和更新连接器支持创建和更新作业支持删除连接器和作业支持以同步或异步的方式启动作业支持停止作业支持查询作业状态支持查询作业历史执行记录支持复制连接器和作业支持创建和更新转换步骤支持指...

1      SqoopShell使用简介

sqoop-shell是一个Loader的shell工具,其所有功能都是通过执行脚本“sqoop2-shell”来实现的。

sqoop-shell工具提供了如下功能:

  • 支持创建和更新连接器

  • 支持创建和更新作业

  • 支持删除连接器和作业

  • 支持以同步或异步的方式启动作业

  • 支持停止作业

  • 支持查询作业状态

  • 支持查询作业历史执行记录

  • 支持复制连接器和作业

  • 支持创建和更新转换步骤

  • 支持指定行、列分隔符

sqoop-shell工具支持如下模式:

  • 交互模式

通过执行不带参数的“sqoop2-shell”脚本,进入Loader特定的交互窗口,用户输入脚本后,工具会返回相应信息到交互窗口。

  • 批量模式

通过执行“sqoop2-shell”脚本,带一个文件名作为参数,该文件中按行存储了多条命令,sqoop-shell工具将会按顺序执行文件中所有命令;或者在“sqoop2-shell”脚本后面通过“-c”参数附加一条命令,一次只执行一条命令。

2      SqoopShell配置

2.1      配置Loader客户端

1.  使用“PuTTY”工具,使用安装客户端的用户登录客户端所在节点。

2.  执行以下命令,防止超时退出。

TMOUT=0

3.  执行以下命令,进入Loader客户端安装目录。例如,Loader客户端安装目录为“/opt/hadoopclient/Loader”。

cd /opt/hadoopclient/Loader

4.  执行以下命令,配置环境变量。

source /opt/hadoopclient/bigdata_env

5.  执行以下命令解压“loader-tools-1.99.3.tar”。

tar -xvf loader-tools-1.99.3.tar

解压后的新文件保存在“loader-tools-1.99.3”目录。

6.  执行以下命令修改工具授权配置文件“login-info.xml”,并保存退出。

vi loader-tools-1.99.3/loader-tool/job-config/login-info.xml

image.png

2.2      配置sqoopshell 配置文件

  1. 使用“PuTTY”工具,使用安装客户端的用户登录Loader客户端所在节点。

  2. 执行以下命令,进入sqoop-shell工具的“conf”目录。例如,Loader客户端安装目录为“/opt/hadoopclient/Loader”。

cd /opt/hadoopclient/Loader/loader-tools-1.99.3/sqoop-shell/conf

  1. 执行以下命令,配置认证信息。

vi client.properties

image.png

3      Sqoopshell使用示例

3.1      交互模式

1.  执行以下命令,进入交互模式(客户端以/opt/hadoopclient为例

source /opt/hadoopclient/bigdata_env

cd /opt/hadoopclient/Loader/loader-tools-1.99.3/sqoop-shell

./sqoop2-shell

2.       获取帮助信息(\h获取帮助信息,\cr获取create的帮助信息,\up获取更新的帮助信息,以此类推)

image.png

3.       查看连接器

image.png

以此类推,可以查看frameworkjobconnection等信息

image.png

4.       创建连接器

根据show connector信息选择对应的连接器,根据create帮助信息创建connection,然后根据命令行提示,输入对应信息,假如提示的参数无需设置,可按enter直接跳过

image.png


5.       创建作业

根据show connection出来的信息选择对应链接,根据create帮助信息创建Job,然后根据命令行提示,输入对应信息,假如提示的参数无需设置,可按enter直接跳过

image.png

也可以使用—help查看创建job的选项信息

image.png

Json获取方法

1)      登录loader原生页面,创建一个相同类型的作业(如TaiPingTab)。

image.png


2)      导出作业的配置json文件,复制json文件中,hops的内容(包括大括号),保存为新的json文件

image.png

 

3)      根据业务需要调整json文件。

3.2      批量模式

批量模式有两种方式,一种是./sqoop2-shell+脚本的方式,脚本中配置待执行的命令

另一种是./sqoop2-shell -c “待执行的命令方式

获取帮助:

./sqoop2-shell -c "create connection -cn generic-jdbc-connector --help"获取创建connection的帮助信息

image.png


./sqoop2-shell -c "create job -xn mysql -t import --help"查看创建Job帮助信息

image.png


1.     脚本方式

cd /opt/hadoopclient/Loader/loader-tools-1.99.3/sqoop-shell

vi batchCommand.sh

image.png

image.png

更新作业



image.png

image.png

image.png

2.     –c 方式(使用-c参数附带一条命令,sqoop-shell可以一次只执行附带的这一条命令)

创建链接为mysql名称为TaiPingTab的导入任务

./sqoop2-shell -c "create job -xn mysql -t import -name TaiPingTab --connector-table-schemaName keshangbank --connector-table-tableName Tab --connector-table-needPartition false --connector-table-columns id,name,value --framework-output-storageType HIVE --framework-output-outputDirectory /user/loader/Tab --framework-throttling-partitionHandlers 10 --framework-throttling-extractors 10   --trans /opt/client/Loader/loader-tools-1.99.3/loader-tool/job-config/TaiPing.json  --queue root.default"

image.png

启动:./sqoop2-shell -c "start job -n TaiPingTab -s"

删除:./sqoop2-shell -c "delete job -n TaiPingTab"

更新:./sqoop2-shell -c 'update job -j 37  -name update-test  --connector-table-sql "select *  from keshangbank.update_test where time < "2020-2-2" and ${CONDITIONS}" '

注: 1.  sqoop-shell目录中createConnection  createJob  helpCmd  startCmd中详细描述了各个参数的含义

       2.  Json文件的获取及参考方式均一样,批量模式中Json文件的获取跟方式请参考交互模式中json的获取方式

     3. 此文档中并未对参数详细介绍,参数部分可参考产品文档sqoop-shell章节

      4. 更新的参数和创建的参数保持一致

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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