《Sqoop部署、使用以及排错》

来源:互联网 发布:淘宝二手主板有挡板吗 编辑:程序博客网 时间:2024/05/17 23:51

1、Sqoop部署

Sqoop1.4.4在Hadoop2.2.0集群上的安装

sqoop安装部署(笔记)


2、Sqoop使用


①相关链接

使用sqoop将MySQL数据库中的数据导入Hbase

Sqoop1.4.4将MySQL数据库表中数据导入到HBase表中

详细总结 使用Sqoop将HDFS/Hive/HBase与MySQL/Oracle中的数据相互导入、导出


②Sqoop将Oracle数据导入至Hive:

a、单表导入

sqoop import --hive-import --connect jdbc:oracle:thin:@168.168.207.71:1521:orcl --username NEWOAUAT --password newoauat --table T_ORGANIZATION_CODE --hive-database weishu --hive-table T_ORGANIZATION_CODE --verbose -m 1
说明:Sqoop-1.4.6将测试Oracle的数据导入至Hive
注意事项:username大写,密码小写,笔者环境下两者都小写不报错也不显示内容,两者都大写连不上,并不需要网上文档所说的--hive-create-table参数,通过--hive-table 指定一个表名(无需新建)即可。


b、整库导入:

sqoop 整库导入数据hive

sqoop import-all-tables --hive-import --connect jdbc:oracle:thin:@168.168.207.71:1521:orcl --username NEWOAUAT --password newoauat --hive-database test --verbose -m 1
说明:import用import-all-tables替换,无需--table(原表参数)以及--hive-table(目的表)这两个参数。
注意事项:
username大写,密码小写,笔者环境下两者都小写不报错也不显示内容,两者都大写连不上。



③Sqoop将Oracle数据导入至HBase:


./sqoop import --connect jdbc:oracle:thin:@192.168.136.130:1521:orcl --username NEWOAUAT --password newoauat --m 1 --table T_PROCESSAPPLY --columns ID,BASE_APP_DEPT,BASE_APP_DEPT_CODE,BASE_APP_ID,BASE_APP_ORG,BASE_APP_ORG_CODE,BASE_DEAL_LAUNCH_USER,BASE_FLOWLEVEL,BASE_FLOWLEVELNAME,BASE_SYSTEM_CODE,ENDTIME,ORIGINATOR,STARTTIME,STATUS,STEPNAME,SUBJECT,WORKFLOWNAME,WORKFLOWNAMECN,WORKFLOWNUMBER,WORKFLOWNUM,BASE_DEAL_USERID,SUBMITTYPE,DOCNUMBER,COLLECTDATE,COLLECTHOSTDEPT,DISPATCHCATEGORYSTR,DISPATCHTYPESTR,DOCORG,SUBMITOBJECT,SIMPLIFY,SEALSNAME,COLLECTDOCNUMBER --hbase-create-table --hbase-table or1 --hbase-row-key ID --column-family or1


注意事项:
 username大写,密码小写,笔者环境下两者都小写不报错也不显示内容,两者都大写连不上;
                  ②要导入的表名,即
--table参数大写;
                  ③
--columns参数中的列族都是大写,且列族与要导入的Oracle表中字段一一对应;
                  ④与
Hive不一样,当所要导入表不存在时,hbase需要--hbase-create-table进行表的创建(去掉没测,兴许也能?);
                  ⑤
--hbase-row-key用的是columns内的值,如果自己定义,也可以吧;
                  ⑥起初在Debug无错也不显现时(后来验证是columns没大写),查询资料,发现这种情况也有可能是指定分隔符 --fields-terminated-by','参数未加,Oracle默认分隔符为',',所以如果你columns大写了,其他格式与上述格式一致,却依旧没有数据,尝试下添加一下这个分隔符参数吧。


3、Sqoop常见问题

找不到类class org.apache.sqoop.Sqoop

使用sqoop从mysql导入数据到Hive报错


0 0
原创粉丝点击