注意使用之前需要切换成相应的用户。
执行以下命令
cd <sqoop dir>
cp conf/sqoop-env-template.sh conf/sqoop-env.sh
# 依次配置 `sqoop-evn.sh` 下的内容。配置项为各个组件的根目录。
configure-sqoop
如果执行 configure-sqoop
报以下错误.
Warning: /opt/sqoop-1.4.7.bin__hadoop-2.6.0/../hcatalog does not exist! HCatalog jobs will fail.
Please set $HCAT_HOME to the root of your HCatalog installation.
Warning: /opt/sqoop-1.4.7.bin__hadoop-2.6.0/../accumulo does not exist! Accumulo imports will fail.
Please set $ACCUMULO_HOME to the root of your Accumulo installation.
错误: 找不到或无法加载主类 org.apache.hadoop.hbase.util.GetJavaProperty
修改configure-sqoop
文件. (由于默认下载的 bin 包中是依赖了 HCatlog 这个组件进行对数据表的管理,ACCUMULO 进行 key-value 处理, 这里我们不需要,就直接将相关的使用配置注释掉 )
配置完成之后执行以下命令验证是否能够连接mysql
sqoop list-databases -connect jdbc:mysql://localhost:3306 -username root -password root1234
执行以下命令测试从数据库中导入数据到 hdfs上
sqoop import --connect jdbc:mysql://192.168.0.201:3306/db -username {username} -password {passwd} --table device_base --as-parquetfile --target-dir hdfs://master:9820/warehouse/original/device_base --compress --compression-codec gzip
执行过程中输出有会有些提示,可以关注一下。
Hue中使用的sqoop 是 oozie中自带的 sqoop, 所以我们可以不用自行安装, 注意在oozie自带的share lib 中会缺失 很多jar包,这里我们去 下载一个 sqoop 的bin包。 然后将里边lib包里边的jar包都上传到 hdfs 上
hdfs dfs -put $SQOOP_HOME/lib/* /user/hadoop/share/lib/lib_20181129144613/sqoop
oozie admin -sharelibupdate # 刷新 lib包 列表