写点什么

教你如何使用 FusionInsight SqoopShell

发布于: 2 小时前

摘要:Sqoop-shell 是一个 Loader 的 shell,其所有功能都是通过执行脚本“sqoop2-shell”来实现的。


分享本文自华为云社区《FusionInsight SqoopShell使用案例》,作者:Jia 装大佬 。

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.执行以下命令,配置环境变量。

源/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



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


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

vi 客户端.properties



3、Sqoopshell 使用示例

3.1 交互模式


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

源/opt/hadoopclient/bigdata_env

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

./sqoop2-shell


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



3. 查看连接器



以此类推,可以查看框架、工作、连接等信息



4.创建连接器


根据显示连接器信息选择对应器,根据创建帮助信息创建连接,然后根据命令行提示,输入对应连接信息,判断提示的参数不需要设置,按输入直接跳过



5.创造作业


根据显示连接出来的信息选择对应链接,根据创建帮助信息创建作业,然后根据命令行提示,输入对应信息,判断提示的参数不需要设置,按输入直接跳过



也可以使用——帮助查看创建工作的选项信息



杰森获取方法


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



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



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

3.2 示范模式


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


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


获取帮助:

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



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



1.脚本方式

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

vi 批处理命令.sh




更新作业





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

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

./sqoop2-shell -c "创建作业 -xn mysql -t import -nameTaiPingTab --connector-table-schemaName keshangbank --connector-table-tableNameTab --connector-table-needPartition false --connector-table-columnsid,name ,value --framework-output-storageType HIVE--framework-output-outputDirectory /user/loader/Tab--framework-throttling-partitionHandlers 10 --framework-throttling-extractors10 --trans/opt/client/Loader/loader- tools-1.99.3/loader-tool/job-config/Taiping.json --queue root.default"



启动:./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. 更新的参数和创建的参数保持一致


 

点击关注,第一时间了解华为云新鲜技术~

发布于: 2 小时前阅读数: 5
用户头像

提供全面深入的云计算技术干货 2020.07.14 加入

华为云开发者社区,提供全面深入的云计算前景分析、丰富的技术干货、程序样例,分享华为云前沿资讯动态,方便开发者快速成长与发展,欢迎提问、互动,多方位了解云计算! 传送门:https://bbs.huaweicloud.com/

评论

发布
暂无评论
教你如何使用FusionInsight SqoopShell