Skip to content

dkhadoop/dk-sqoop-plus

Repository files navigation

DK-Sqoop-plus

本项目在原生sqoop (http://sqoop.apache.org/的基础上进行更多实用功能的扩展。
暂时只支持  RDBMS(mysql 、oracle 、sqlserver) to Elasticsearch  和 HDFS to Elasticsearch 等功能,后续可能支持 Elasticsearch to RDBMS 等功能 。
项目编译参见原生sqoop。

Versions

DK-Sqoop-plusSqoop versionES version
master 1.x -> master 5.x -> master
1.5.1 1.5.4 5.6.8

Install

1.下载

编译后的安装包下载地址: https://github.com/dkhadoop/dk-sqoop-plus/releases/download/1.5.1/sqoop-1.4.5-plus-1.5.1.tar.gz

关于sqoop的相关配置请参考sqoop官网。

Quick Example

1.MySQL to Elasticsearch

(1)进入安装bin目录执行:

    ./sqoop import --connect jdbc:mysql://192.168.1.31:3306/quick4j --username root --password 123456 --table permission -m 1 --target-dir 192.168.1.99:9200@dkes@dksqoop2/mysql

(2)执行语句说明:

    sqoop import  #固定,默认

    --connect jdbc:mysql://192.168.1.31:3306/quick4j  #为MySQL数据库的连接信息,使用时请修改。

    --username root #MySQL数据库用户名,使用时请修改。

    --password 123456 #MySQL数据库密码,使用时请修改。

    --table permission #MySQL要导入到elasticsearch的数据库表,使用时请修改。

    -m 1               #指定导入时产生的mr的数量。注意:如果RDBMS数据库表中没有主键,则-m的值只能是1

    --target-dir 192.168.1.31:9200@dkes@dksqoop2/mysql  #--target-dir的值包含三部分由“@”分隔,“@”前一部分192.168.1.99:9200为指定elasticsearch的主机地址和端口号,“@”中间一部分dkes为elasticsearch的集群名称,“@”后一部分dksqoop2/mysql包含两部分,由“/”分隔,“/”前一部分dksqoop2为elasticsearch的索引名称,“/”后一部分mysql为elasticsearch的类型名称。使用时请修改es的IP、索引名和类型名。

2.Oracle to Elasticsearch

(1)进入安装bin目录执行:

    ./sqoop import --connect jdbc:oracle:thin:@192.168.1.35:1521:orcl --username system --password dkss --table DK10 -m 1 --target-dir 192.168.1.99:9200@dkes@dksqoop2/oracle

(2)执行语句说明:

    sqoop import  #固定,默认

    --connect jdbc:oracle:thin:@192.168.1.35:1521:orcl  #为Oracle数据库的连接信息,使用时请修改。  

    --username system  #Oracle数据库用户名,使用时请修改。

    --password dkss    #Oracle数据库密码,使用时请修改。

    --table DK10       #Oracle要导入到elasticsearch的数据库表,使用时请修改。

    -m 1               #指定导入时产生的mr的数量。注意:如果RDBMS数据库表中没有主键,则-m的值只能是1

    --target-dir 192.168.1.99:9200@dkes@dksqoop2/oracle  #--target-dir的值包含三部分由“@”分隔,“@”前一部分192.168.1.99:9200为指定elasticsearch的主机地址和端口号,“@”中间一部分dkes为elasticsearch的集群名称,“@”后一部分dksqoop2/oracle包含两部分,由“/”分隔,“/”前一部分dksqoop2为elasticsearch的索引名称,“/”后一部分oracle为elasticsearch的类型名称。使用时请修改es的IP、索引名和类型名。

3.HDFS to Elasticsearch

(1)进入安装bin目录执行:

    ./sqoop export --connect "es@192.168.1.31:9200@dkes@hdfs/sqoop"  --export-dir aaa --fields-terminated-by '@' -m 1

(2)执行语句说明:

    sqoop export  #固定,默认

    --connect "es@192.168.1.126:9200@dkes@hdfs/sqoop"   #--connect的值包含四部分由“@”分隔,第一部分es为固定默认值,第二部分192.168.1.31:9200为连接elasticsearch的主机地址和端口,第三部分dkes为elasticsearch的集群名称,第四部分hdfs/sqoop为elasticsearch的索引名/类型名。使用时请修改。

    --export-dir aaa            #指的是要导出的hdfs文件所在的目录。使用时请修改。

    --fields-terminated-by '@'  #--fields-terminated-by指的是hdfs文件内容各字段间的字段分隔符,如果不指定则默认为','分隔。

    -m 1               #指定导入时产生的mr的数量。mr数不能小于文件内容的记录条数。


其它更多sqoop功能请参考sqoop (http://sqoop.apache.org/官方主页。

大快搜索(http://www.dksou.com

人类从钻木取火,到发现希格斯玻色子;从简陋的牛郎星,到无所不在的移动计算;从达特默斯会议,到“大数据”时代的来临,这些改变人类生活方式的发现和创造,其灵魂皆为数学。

我们是一群信仰“算法能改变世界”的志同道合者组成的创业团队。我们相信数学是打开未来之门的钥匙。

大快搜索”是领先的大数据和人工智能基础软件供应商,提供商业发型版Hadoop集成生态环境(DKH)和大数据与人工智能一体化开发框架(Freerch);以帮助大数据(软件)公司减少代码编写量,提升开发效率,降低成本为己任,将复杂的搜索、大数据、机器学习、流计算、图计算、自然语言处理、神经网络等,变成简单易用的接口和类库,底层技术从此触手可及!

大快,正引领着大数据与ai技术的发展,从自然语言处理到机器学习;从搜索引擎到大数据处理;从智能交通到金融风控;大快的基础软件,帮助众多大数据与人工智能项目,实现最高可达5倍的计算性能提升。

众多知名软件和大数据企业,均采用大快的基础软件,开发和部署大数据与人工智能应用。

大快,大数据技术的中国标准!