关于香港服务器中Sqoop配置详解
Sqoop是一个开源工具,基于海量数据的Hadoop技术必然会保存大量的数据,那么如何将大量的数据进行快捷有效的传递呢?这就要使用的开源工具Sqoop,这个工具既可以使用在传统的关系型数据库中(如Mysql、Oracle),也可以是用在Hadoop中的HDFS(HDFS是Hadoop下的文件存储系统)中。Sqoop可以将关系数据库中的数据导入到HDFS中,便于Hadoop对大量数据进行处理,也可以将HDFS中的数据导入到关系型数据库中,便于数据的保存。
Sqoop的架构相对简单,通过连接池(JDBC)关系数据库进行交互,又整合了HIve、Hbase、Oozie等。理论上支持JDBC的数据库系统都可以使用Sqoop和关系数据库已经HDFS进行数据交互,并且提供了并发和容错机制。
废话少说,小编给大家详细讲解一下Sqoop的配置和使用:
1.上传Sqoop并解压
2.将qoop添加到环境变量中
将数据库连接驱动拷贝到/mumu/sqoop.../lib中
mysql-connector-5.1.8.jar
3.使用Sqoop
第一类:数据库中的数据导入到 HDFS 上
./sqoop import --connect jdbc:mysql://windowIP:3306/数据库名
--username 用户名 --password 密码 --table 表名
指定输出路径、指定数据分隔符
./sqoop import --connect jdbc:mysql://windowIP:3306/数据库名--username 用户名 --password 密码 --tabl,e 表名 --target-dir /放在hdfs的文件地址 {-m 数字 (->启动多少个 map)--fields-terminated-by '\t' (在文件中也什么方法分割) --columns "数据库里的属性,属性"}
增加 where 条件, 注意:条件必须用引号引起来
./sqoop import --connect jdbc:mysql://192.168.1.10:3306/数据库名--username 用户名 --password 密码 --table 表名 --target-dir /放在hdfs的文件地址 --where 'id>3'增加 query 语句(使用\将语句换行)
./sqoop import --connect jdbc:mysql://192.168.1.10:3306/数据库名--username 用户名 --password 密码--query 'SELECT * FROM 表名where id > 2 AND $CONDITIONS'-m 数字--split-by 表名.属性 --target-dir /sqoop
注意:如果使用--query 这个命令的时候,需要注意的是 where 后面 的参数, AND $CONDITIONS 这个参数必须加上
而且存在单引号与双引号的区别,如果--query 后面使用的是单引号,那么需要在$CONDITIONS 前加上\即\$CONDITIONS 如果设置map数量为1个时即-m 1,不用加上--split-by表名.属性,否则需要加上。
第二类:将 HDFS 上的数据导出到数据库中
sqoop export --connect jdbc:mysql://windows 的IP:3306/数据库名--username用户名 --password 密码 --export-dir 'hdfs 的目录'--table 表名 -m1{--fields-termianted-by '\t'(注意分割符)如果你修改是什么分割符一定要修改回来}
3.配置 mysql 远程连接
指定其中的一台机器授权
GRANT ALL PRIVILEGES ON 数据库名.* TO '用户名'@'远程连接的主机 IP'
IDENTIFIED BY '密码' WITH GRANT OPTION; FLUSH PRIVILEGES;
容许任何一台机器授权
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY'密码' WITH GRANT OPTION;
FLUSH PRIVILEGES
本次讲解就到这里,相信小编已经给大家对于Sqoop工具做了一些正确合理的普及,大家现在应该理解Sqoop是如何工作和传递的了的,喜欢动手的朋友可以自行安装一下HDFS架构和关系型数据库,导入数据库连接Jar包,这样会对Sqoop有更深的了解(上述操作本人都亲自试验过)。
希望大家踊跃的购买我们公司的香港服务器,更好的进行hadoop相关的研究和实战。
如果还有什么不明确或者不懂的地方,欢迎来到新世界主机咨询了解,详情请咨询Skpey咨询:vpssj.net@hotmail.com, 。我们必将竭诚为您服务。