安装部署sqoop1
1.安装准备
sqoop1 安装准备介质sqoop-1.4.6.bin_hadoop-2.0.4-alpha.tar.gz 上传至自己指定的一个目录,与之前的操作相同,再进行解压后,然后解压目录复制到/usr/share 目录下:
2.配置环境变量
使用root 用户修改/etc/profile 文件,增加SQOOP_HOME 变量,并添加$SQOOP_HOME/BIN 路径
保存退出,重新登录hadoop 用户,确保环境变量修改生效。
3.修改bin/configure-sqoop 配置文件
注释掉 HCAT_HOME 和 ACCUMULO_HOME 检查代码
4.创建sqoop-env.sh 配置文件
使用sqoop-env-template.sh 模板创建sqoop-env.sh 配置文件:
5.检验安装是否完成
输入sqoop help ,验证是否成功
Sqoop 文件导入/导出
Mysql数据导入到HDFS中
1.给Sqoop 安装Mysql 驱动
cd mysql-connector-java-5.1.39
2.如果没有安装成功,则进行安装,如果已经安装有Mysql,请检查是否启动,首先启动Mysql 服务。
3.登录Mysql 数据库,查看现有的数据库
mysql -uhive -phive
show database
4.连接到hive 数据库,查看hive 数据库显示总共有55张表:use hive;
5.查看其中一张表的内容,用来检测后面导出的结果的正确性
6.把Mysql 数据导入到HDFS 中,先使用Sqoop 命令列出Mysql 中数据库;
sqoop list-database --connect jdbc:mysql://hadoop1:3306/
把Mysql数据库TBLS 表数据导入到HDFS 中:
sqoop import --connect jdbc:mysql://hadoop1:3306/hive --
7.查看导出结果,在当前用户hadoop 目录下新增加TBLS 表目录,该目录下有两个文件,其中part-m-00000就是TBLS 表导出文件,使用cat 命令可以查看part-m-00000 的内容,与前面对TBLS 的查询结果一致的:
hadoop fs -ls /user/hadoop
hadoop fs -ls /user/hadoop/TBLS
使用这两个命令检查两者是否一样
hadoop fs -cat /user/hadoop/TBLS/part-m-0000 再查看
Mysql 数据导入到Hive 中
1.启动metastore 和hiveserver
在启动Hive 之前需要启动上面这两个服务,如果服务不存在,可使用下面这两个命令启动:
hive --service metastore &
hive --service hiveserver &
通过启动jps 命令查看两个RunJar 进程运行在后台 jps
2.把Mysql 中SDS 表数据导入到hive 中:
sqoop import --connect jdbc:mysql://hadoop1:3306/hive --
运行日志可以看出,该导出过程包含两个阶段;从Mysql 中把数据导入HDFS 文件中,然后再从HDFS 文件中把数据写入到Hive中。
3.查看表结果,登录Hive,查看导入的Mysql表的信息:show tables;
再从Mysql 中查询SDS 表的结构,显示与Mysql2Hive 是一致的; use hive;
desc SDS;