站长杂谈

关于香港服务器中Sqoop配置详解

时间:2017-05-25 16:35 点击:

  关于香港服务器中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, 。我们必将竭诚为您服务。