hadoop中的sqoop工具的使用
2016-04-05 19:27
381 查看
在Hadoop集群上面使用数据库导入数据工具:sqoop(这个工具的作用就是将服务器或者本地MySQL数据库单表或者多表联合查询出来的数据直接上传到hadoop集群中,或者将hadoop集群中的数据迁移到MySQL数据库当中)
1.配置工作:下载sqoop文件:这里我使用的是sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar
下载connector文件:这个文件是数据库与hadoop集群传输数据的驱动:mysql-connector-java-5.1.38.tar.gz
2.文件的存放路径
(1)在服务器上面保存sqoop文件和jdbc文件的配置:
(2)在服务器中我存放sqoop文件的目录是:/usr/sqoop
(3)把解压过后的jdbc驱动文件拷贝到sqoop文件目录下的lib目录中
3.重命名配置文件
在sqoop目录下的conf目录中执行命令:
mv sqoop-env-template.sh sqoop-env.sh
在conf目录下,有两个文件sqoop-site.xml和sqoop-site-template.xml内容是完全一样的,不必在意,我们只关心sqoop-site.xml即可。
4.修改配置文件信息:
(1)修改在sqoop目录下的conf目录中的sqoop-env.sh文件信息:vim sqoop-env.sh
因为目前还没有使用到HBASE,HIVE,ZOOKEPPER,所以可以把这些功能的环境变量的信息注释掉,以后使用到的时候再去配置即可.
(2)修改sqoop目录下的bin目录中的configure-sqoop文件,把文件中有相关HBASE,HIVE,ZOOKEPPER的信息全部注释掉
5.启动sqoop
在sqoop的bin目录下执行命令: ./sqoop
通过此命令来启动sqoop功能
配置sqoop的环境呢变量:
成功后,在根目录下输入sqoop命令来查看sqoop能否正常使用:
成功后:
6.数据迁移测试:
(向数据库中上传数据)在bin目录下输入命令: ./sqoop import --connect jdbc:mysql://(服务器的IP地址):3306/rmsdb --username
你的数据库用户名 --password 数据库密码 --table rae_updatejson(表名称) --cloumns “id,account,icome” --target-dir -m 1 (启用一个map)
这里面每个参数的含义:
-import;向集群中迁入数据
jdbc:mysql://123.57.210.236:3306:数据库所在的服务器IP地址
-rmsdb:数据库名称
-username:数据库的用户名
-password:数据库密码
--table 数据库里面的表名
-m 1;启动的mapper数量
--target-dir:数据导入到hdfs中的路径
--cloumns:要导入的表中的列数据
迁出数据
:
sqoop export --connectjdbc:mysql://(服务器的IP地址):3306/sqoop --table tb2 --username --password123456 --export-dir
hdfs://hadoop0:9000/user/hadoop/tb1/part-m-00000
相关文章推荐
- 我是运营,我没有假期
- DB2数据库的安装
- C#实现把指定数据写入串口
- “传奇”图象数据存储方式
- 修复mysql数据库
- 浅析SQL数据操作语句
- SQLServer 数据导入导出的几种方法小结
- 简述MySQL分片中快速数据迁移
- MySQL数据备份之mysqldump的使用详解
- C#实现窗体间传递数据实例
- C#中的委托数据类型简介
- 给你的数据库文件减肥
- Oracle数据更改后出错的解决方法
- Oracle数据库数据丢失恢复的几种方法总结
- C#将Sql数据保存到Excel文件中的方法
- C#实例代码之抽奖升级版可以经表格数据导入数据库,抽奖设置,补抽
- MFC实现在文件尾追加数据的方法
- 把excel表格里的数据导入sql数据库的两种方法
- 用文本作数据处理
- 桌面中心(一)创建数据库