sqoop 安装及使用
2013-05-07 14:43
302 查看
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 :数据库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去看看有没有创建对应的表名的目录,数据有没有导入到该目录里去。
这里假设已经安装好了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:mydb1 ORACLE_NAME=dp ORACLE_PWD=dp TABLE_NAME=TEST_TB COLUMNS=TEST_ID,TEST_NAME HDFS_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 --column s $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安装使用手册_云帆大数据学院
- ubuntu 安装使用 Sqoop1.4.6 + hive 2.3.0
- sqoop的安装与使用
- sqoop的安装、配置及使用简介
- Sqoop1.4.6的安装及命令行使用
- sqoop的安装和使用
- Sqoop2(sqoop-1.99.7) 安装使用
- sqoop1.99.4的安装和使用
- sqoop的安装与使用
- Sqoop之——安装与使用
- Sqoop 1.99.6 安装和使用
- sqoop的安装与使用
- Sqoop客户端安装以及使用小结
- Sqoop(sqoop-1.4.6) 安装使用
- 安装部署(八) Hive+Sqoop安装部署和使用
- Sqoop数据分析引擎安装与使用
- sqoop安装,使用流程
- Sqoop安装及使用