exportação de dados Sqoop e importação

Cerca de um Sqoop:
Sqoop é uma ferramenta open source, usado principalmente em Hadoop (Hive) eo banco de dados tradicional (MySQL, PostgreSQL ...)
entre dados passada, um banco de dados relacional pode ser (por exemplo: MySQL, Oracle, Postgres etc)
dados em Hadoop HDFS para orientar, é também possível introduzir HDFS de dados conduz a uma base de dados relacional.
projeto Sqoop começou em 2009, originalmente como presença Hadoop de uma módulos de terceiros, então, a fim de permitir que o
utente para implantar rapidamente, a fim de permitir que os desenvolvedores para o desenvolvimento iterativo mais rápida, independência Sqoop como um Apache
projeto.
Sqoop2 última versão é 1.99.7. Nota 1 e 2 não são compatíveis, e características incompleta, não é destinado a
implantações de produção.
Dois Sqoop principais:
comandos de importação ou exportação traduzido em programa MapReduce.
No mapreduce traduzido em outputformat principalmente na inputformat e personalização.
Três dados de importação
em Sqoop, o "importação" refere-se ao conceito: uma grande quantidade de dados a partir de um não-agrupado (RDBMS), em grande agrupamentos de dados (as HDFS, a colmeia,
hbase) para a transmissão de dados, chamadas: importação, isto é, o uso da palavra-chave de importação.
1 mysql ---- hdfs:

#语法:
sqoop import --connect JDBCURL --table 表名 --username 帐号 --password 密码 --target-dir 导出至HDFS目标 --fields-terminated-by '\t'  -m  mapper的个数


sqoop import --connect jdbc:mysql://HadoopNode1:3306/test --table emp --username root --password 123456 --target-dir /user/sheng/input/sqoop1/stu  --fields-terminated-by '\t'  -m 1 

2 mysql ----> HDFS introduzido incremento:

Quando usado com tabelas de dados mysql tempo, os dados originais no aumento de mesa, mas só quer Adições de importação de gravação HDFS

No trabalho real entre os dados nas tabelas de banco de dados estão crescendo, como apenas mesa do consumidor, por isso cada vez que você quiser parte importação de uma importação incremental, não quer os dados na tabela uma vez (tempo e esforço) na re-import , isto é, se os dados da tabela para aumentar o conteúdo, você importá-lo para Hadoop, se os dados na tabela não aumento não importa - esta é a importação incremental.

  • append -incremental: importação incremental

  • -verificar-coluna :( especificar critérios delta importação de incremento - que incrementa a coluna como um padrão)

  • -última-valor deve ser especificado quando :( coluna delta referência importação - o último valor de tempo da importação, ou dados na tabela será reintroduzido no primário)



    #语法:
    sqoop import --connect JDBCURL --table 表名 --username 帐号 --password 密码 --target-dir 导出至HDFS目标 --fields-terminated-by '\t'  -m  mapper的个数   --incremental append  --check-column  以什么字段来标识增加  --last-value  最大记录数
    
    #例:
    sqoop import --connect    jdbc:mysql://HoodpNode3:3306/test     --table  student                 --username root --password 123456 --target-dir /user/sheng/input/sqoop1/stu --fields-terminated-by '\t'  -m 1   --incremental append  --check-column  empno  --last-value  7934



3 mysql ----> Hive

 语法:
sqoop import --connect JDBCURL --table 表名 --username 帐号 --password 密码 --hive-import --create-hive-table  --hive-table 数据库名.表名 --fields-terminated-by  '\t'  -m  1
 
 
 sqoop import --connect jdbc:mysql://HadoopNode1:3306/test --table emp --username root --password 123456 --hive-import --create-hive-table  --hive-table default.emp --fields-terminated-by  '\t'  -m 1

4 HDFS ----> mysql:

#语法:
sqoop  export  --connect JDBCURL --table 表名 --username 帐号 --password 密码  --table  表名    -export-dir  HDFS的路径 --input-fields-terminated-by  '\t' 


#例:
sqoop export --connect jdbc:mysql://HadoopNode1:3306/test --table hdfs_mysql --username  root --password 123456 --export-dir  /user/sheng/input/sqoop1/stu/part-m-00000
  --fields-terminated-by '\t'  -m 1

5 HIVE ----> mysql:

#语法:
sqoop  export  --connect JDBCURL --table 表名 --username 帐号 --password 密码  --table  表名    -export-dir  hive数据仓库及表的路径 --input-fields-terminated-by  '\t' 

#例:

sqoop  export  --connect jdbc:mysql://HadoopNode1:3306/test  --username root --password 123456 --table  hive_mysql    -export-dir  /user/hive/warehouse/emp/emp.txt --input-fields-terminated-by  '\t'

--table hive_mysql 
--direct 
Publicado 133 artigos originais · ganhou elogios 53 · vê 20000 +

Acho que você gosta

Origin blog.csdn.net/weixin_43599377/article/details/104516046
Recomendado
Clasificación