sqoop 安装及使用
来源:互联网 发布:java并发编程 豆瓣 编辑:程序博客网 时间:2024/06/06 21:39
sqoop的版本跟hadoop的版本要对应,由于我用的是hadoop-1.0.4,于是我下载的sqoop是sqoop-1.4.3.bin__hadoop-1.0.0.tar.gz。
这里假设已经安装好了hadoop,可能你没有设置环境变量,有几个环境变量sqoop会用到:
export PATH=/home/hadoop/sqoop-1.4.3/bin:$PATH
export HADOOP_HOME=/home/hadoop/hadoop-1.0.4
export HADOOP_COMMON_HOME=${HADOOP_HOME}
export HADOOP_MAPRED_HOME=${HADOOP_HOME}
将这几个环境变量添加到 ~/.bashrc文件里去,然后source ~/.bashrc使更改生效。
然后启动hadoop集群,运行一下sqoop help看看能不能执行。
如果是从mysql数据库导入到hdfs的话,sqoop是直接支持的,不需要额外的jar包,如果是其他数据库的话比如oracle(我用的是oracle),需要将oracle的jdbc驱动jar包放到${sqoop_home}/lib目录下面, 我用的oracle的驱动是ojdbc14.jar,网上说用ojdbc6.jar,应该都行。
接下来尝试一下导入数据,导入数据一般都是写脚本来执行,比较方便一点。比如我写了一个脚本sqoop-import.sh,里面内容如下:
CONNECT_URL=jdbc:oracle:thin:@192.168.27.160:1521:mydb1ORACLE_NAME=dpORACLE_PWD=dpTABLE_NAME=TEST_TBCOLUMNS=TEST_ID,TEST_NAMEHDFS_PATH=ORA_DATA/${TABLE_NAME}sqoop import --append --connect $CONNECT_URL --username $ORACLE_NAME --password$ORACLE_PWD --target-dir $HDFS_PATH --num-mappers 1 --table $TABLE_NAME --columns $COLUMNS --fields-terminated-by '\001'
前面的都是常量参数,CONNECT_URL :数据库URL,然后ORACLE_NAME用户名、ORACLE_PWD密码,TABLE_NAME是准备导入的表名,COLUMNS是准备导入的列名,HDFS_PATH是导入的数据在DFS上存储的路径,这里写的是相对路径,导入成功后会在hdfs://ip:port/user/hadoop/ORA_DATA目录下面创建TEST_TB目录,数据就存放在该目录下面。sqoop import是导入命令,参数用的是上面定义的参数,这样需要导入另外一张表的时候,只需要修改TABLE_NAME,COLUMNS两个参数就可以了。
接下来就是执行脚本导入数据:
chmod 777 sqoop-import.sh
./sqoop-import.sh
然后去hadoop 后台文件系统http://master:50070去看看有没有创建对应的表名的目录,数据有没有导入到该目录里去。
- sqoop 安装及使用
- sqoop安装及使用
- sqoop的安装及使用
- Sqoop相关---安装及使用
- sqoop的安装、配置及使用简介
- sqoop的安装、配置及使用简介
- sqoop简介及安装
- Sqoop安装及验证
- SQOOP 基础及安装
- sqoop安装及配置
- Sqoop安装及操作以及oozie&sqoop
- Sqoop介绍及使用
- sqoop的安装使用
- sqoop安装和使用
- sqoop安装与使用
- sqoop安装,使用流程
- Sqoop安装和使用
- sqoop 安装与使用
- ajax请求get和post区别
- HTTP状态码一览表(HTTP Status Code)
- 关于字符串操作
- 2013年十大网址站排行榜
- 递归与非递归判断数组是否递增
- sqoop 安装及使用
- 备忘录模式
- Js 错误 - Throw、Try 和 Catch
- WPF Image控件显示视频数据流
- 楠哥讲心得之三维重建
- 加载本地UITableViewCell
- 基于TinyProxy搭建HTTP代理服务器
- 九九乘法表
- Web Workers