sql Server Connect for Hadoop
sqoop是一个开源的工具,能将数据表从关系数据库导入HDFS或Hive上。在安装sqoop之前,需安装好Hadoop和JAVA以及Hive。
- sqoop的安装:
sqoop的版本: sqoop-1.3.0-cdh3u1 (sqoop-1.3.0-cdh3u1.tar.gz) http://archive.cloudera.com/cdh/3/
关于sqoop详细的介绍:
http://archive.cloudera.com/cdh/3/sqoop-1.3.0-cdh3u1/SqoopUserGuide.html
安装步骤:
(1)下载好版本,解压。
(2)需要在系统环境变量设置$HADOOP_HOME,指向其安装的根目录。
sudo gedit /etc/environment 添加;
(3)在系统环境变量设置$SQOOP_HOME以及$以及$SQOOP_CONF_DIR;
SQOOP_HOME = 安装的根目录;
SQOOP_CONF_DIR=$SQOOP_HOME/conf;
(4)下载jdbc的sqlServer驱动:
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=21599
解压后,放在{sqoop_home}/lib目录下;
(5)下载sql Server-Hadoop Connector:sqoop-sqlserver-1.0.tar.gz
http://www.microsoft.com/en-us/download/details.aspx?id=27584
解压后,放在{sqoop_home}/lib目录下;
(6)在系统环境变量设置:$MSsql_CONNECTOR_HOME,指向sqoop-sqlserver-1.0的安装路径;
(7)执行sqoop-sqlserver-1.0的install.sh。命令会将连接的jar文件和配置文件拷贝的Sqoop目录。到此,可以从sql传入数据到HDFS或Hive之上;
(8)如果执行出现Zookeeper_home或Hbase_home不存在问题,可以在配置文件中注释掉Zookeeper或Hbase相关的属性;
- sqoop的导入命令:
(1)从sql输入textfiles到HDFS
$bin/sqoop import --connect ‘jdbc: server://10.80.181.127; username=dbuser; password=dbpasswd;database=tbch’ --tabletablename --target-dir /user/home/
(2)利用split-by 输入数据
$bin/sqoop import --connect ‘jdbc: server://10.80.181.127; username=dbuser; password=dbpasswd;database=tbch’ --tabletablename --target-dir /user/home/ --split-by l_orderkey -m 3
(3) 从sql输入Sequencefiles到HDFS
$bin/sqoop import --connect ‘jdbc: server://10.80.181.127; username=dbuser; password=dbpasswd;database=tbch’ --tabletablename --target-dir /user/home/ --as-sequencefile
(4) 从sql输入表到Hive
$bin/sqoop import --connect ‘jdbc: server://10.80.181.127; username=dbuser; password=dbpasswd;database=tbch’ --tabletablename --hive-import
使用Hive import,确保Hive已经安装,以及HIVE_HOME以及配置;
- sqoop详细使用请见上述网址(包括sqoop的导出命令,在此不累赘);
可以使用命令$bin/sqoop help
sqoop可以导入的关系数据库:MysqL,Orcal等等,其使用语法近似相同;
参考信息:http://www.microsoft.com/en-us/download/details.aspx?id=27584;
http://archive.cloudera.com/cdh/3/sqoop-1.3.0-cdh3u1/SqoopUserGuide.html版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。