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>

猜你喜欢

转载自skyzh.iteye.com/blog/2092337