hive安装参考:
https://blog.csdn.net/chen_jx_0/article/details/85175969
安装sqoop1.4.7
下载
http://archive.apache.org/dist/sqoop/1.4.7/sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz
上传到centos
解压
tar -xzvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz
改名
mv sqoop-1.4.7.bin__hadoop-2.6.0 sqoop-1.4.7 (非必需)
删除
rm -rf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz (非必需)
编辑/etc/profile
export SQOOP_HOME=/root/app/sqoop-1.4.7
exportPATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$SQOOP_HOME/bin:$HIVE_HOME/bin
使环境变量生效
source /etc/profile
编辑配置文件sqoop-env.sh
cd /root/app/sqoop-1.4.7/conf/
cp sqoop-env-template.sh sqoop-env.sh
vi sqoop-env.sh
上面的路径修改为自己的hadoop路径和hive路径
将MySQL驱动包上载到Sqoop的lib下
测试
sqoop -- 查询root用户的hive数据库中有哪些表
sqoop list-tables --username root --password 'root' --connect jdbc:mysql://192.168.188.128:3306/hive?characterEncoding=UTF-8
sqoop -- 从mysql的it库将test_sqoop表导入到hive
sqoop import --connect jdbc:mysql://192.168.188.128:3306/it --username root --password 'root' --table test_sqoop--hive-import -m 1 --driver com.mysql.jdbc.Driver
可能出现的异常信息:ClassNotFoundException: org.apache.hadoop.hive.conf.HiveConf
解决方法如下:将hive-common-x.x.x.jar 拷贝到sqoop/lib下
cp /root/app/hive-2.1.1/lib/hive-common-2.1.1.jar /root/app/sqoop-1.4.7/lib/
可能出现的异常信息:FileAlreadyExistsException: Output directory hdfs://node01:9000/user/root/test_sqoop already exists
解决方法如下:删除原有的文件目录
hadoop fs -rm -r hdfs://node01:9000/user/root/test_sqoop
然后重新导入
sqoop import --connect jdbc:mysql://192.168.188.128:3306/it --username root --password 'root' --table test_sqoop --hive-import -m 1 --driver com.mysql.jdbc.Driver
进入hive查看
show tables;
基于MySQL的表创建hive表
sqoop create-hive-table --connect jdbc:mysql://192.168.188.128:3306/it?characterEncoding=UTF-8 --tablecreate_test_hive --username root -password 'root' --hive-database test_db_hive;