qq489498494 发表于 2017-1-3 09:31:05

Apache Sqoop使用介绍

Apache Sqoop使用介绍
  Sqoop是一个数据库导入导出工具,可以将数据从hadoop导入到关系数据库,或从关系数据库将数据导入到hadoop中。
主要参数
  1、codegen
  2、create-hive-table
  3、eval
  4、export
  5、import
  6、import-all-tables
  7、job
  8、list-databases
  9、list-tables
  10、merge
  11、metastore
  12、version
  13、help
codegen
  将关系数据库表映射为一个java文件,且能生成class类、以及相关的jar包,作用主要是两方面:
  1、将数据库表映射为一个Java文件,在该Java文件中对应有表的各个字段。
  2、生成的Jar和class文件在metastore功能使用时会用到。
  基础语句:
  sqoop codegen –connect jdbc:mysql://localhost:3306/hive –username root –password 123456 –table TBLS2
create-hive-table
  生成与关系数据库表的表结构对应的HIVE表
  基础语句:
  sqoop create-hive-table –connect jdbc:mysql://localhost:3306/hive -username root -password 123456 –table TBLS –hive-table h_tbls2
eval
  可以快速地使用SQL语句对关系数据库进行操作,这可以使得在使用import这种工具进行数据导入的时候,可以预先了解相关的SQL语句是否正确,并能将结果显示在控制台。
  基础语句:
  sqoop eval –connect jdbc:mysql://localhost:3306/hive -username root -password 123456 -query “SELECT * FROM tbls LIMIT 10″
export
  从hdfs中导数据到关系数据库中
  基础语句:
  sqoop export –connect jdbc:mysql://localhost:3306/hive –username root –password
  123456  –table TBLS2 –export-dir sqoop/test
import
  将关系数据库的数据导入到hive中,如果在hive中没有对应的表,则自动生成与关系数据库表名相同的表。
  基础语句:
  sqoop import –connect jdbc:mysql://localhost:3306/hive –username root –password
  123456 –table user –split-by id
import-all-tables
  将数据库里的所有表导入到HDFS中,每个表在hdfs中都对应一个独立的目录。
  基础语句:
  sqoop import-all-tables –connect jdbc:mysql://localhost:3306/test
job
  用来生成一个sqoop的任务,生成后,该任务并不执行,除非使用命令执行该任务
  基础语句:
  sqoop job
list-databases
  打印出关系数据库所有的数据库名
  基础语句:
  sqoop list-databases –connect jdbc:mysql://localhost:3306/ -username root -password 123456
list-tables
  打印出关系数据库某一数据库的所有表名
  基础语句:
  sqoop list-tables –connect jdbc:mysql://localhost:3306/test -username root -password 123456
merge
  将HDFS中不同目录下面的数据合在一起,并存放在指定的目录中
  示例语句:
  sqoop merge –new-data /test/p1/person –onto /test/p2/person –target-dir /test/merged –jar-file /opt/data/sqoop/person/Person.jar –class-name Person –merge-key id
metastore
  记录sqoop job的元数据信息,如果不启动metastore实例,则默认的元数据存储目录为:~/.sqoop,如果要更改存储目录,可以在配置文件sqoop-site.xml中进行更改。
  metastore实例启动:sqoop metastore
version
  显示sqoop版本信息
  语句:
  sqoop version
help
  打印sqoop帮助信息
  语句:
  sqoop help
公共参数
  一、Hive参数:
  –hive-delims-replacement <arg>
  –hive-drop-import-delims
  –map-column-hive <arg>
  –hive-partition-key
  –hive-partition-value<v>
  –hive-home <dir>
  –hive-import
  –hive-overwrite
  –create-hive-table
  –hive-table
  –table
  二、数据库连接参数:
  –connect <jdbc-uri>
  –connection-manager <class-name>
  –driver <class-name>
  –hadoop-home <dir>
  –help
  -P
  –password <password>
  –username <username>
  –verbose
  –connection-param-file <filename>
  三、文件输出参数:
  –enclosed-by <char>
  –escaped-by <char>
  –fields-terminated-by <char>
  –lines-terminated-by <char>
  –mysql-delimiters
  –optionally-enclosed-by <char>
  四、文件输入参数:
  –input-enclosed-by <char>
  –input-escaped-by <char>
  –input-fields-terminated-by <char>
  –input-lines-terminated-by <char>
  –input-optionally-enclosed-by <char>
页: [1]
查看完整版本: Apache Sqoop使用介绍