Compartilhamento de tecnologia

Hadoop-23 Dados Sqoop MySQL para HDFS (parte) SQL gera dados cluster HDFS Sqoop import jdbc ETL MapReduce

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Conteúdo do capítulo

Na seção anterior completamos o seguinte conteúdo:

  • Escreva um script SQL para gerar dados
  • Inicie nossos serviços dependentes: HDFS, Hive, YARN
  • Sqoop importa todos os dados para o Hive
  • Veja o status do MapReduce, veja os resultados do HDFS

Introdução ao histórico

Aqui estão três servidores em nuvem de rede pública, cada um 2C4G, construindo um ambiente de aprendizagem Hadoop para eu aprender.
Já o construí em uma máquina virtual VM uma vez, mas não deixei nenhuma anotação. Desta vez, aproveitei as três máquinas que comprei há alguns dias e rapidamente tentei construí-lo na rede pública. experencie.

  • 2C4G No.h121
  • 2C4G Nº h122
  • 2C2G No.h123

Insira a descrição da imagem aqui

Precauções

Apache Sqoop 于 2021 年 6 月迁入 Attic。
A missão do Apache Sqoop é criar e manter software de transferência de dados em larga escala relacionado ao Apache Hadoop e armazenamento estruturado de dados.
Embora o projeto possa estar desatualizado, se você tiver tempo, poderá estudá-lo adequadamente e pode ser de alguma ajuda para você! ! !

Importação parcial: --query

Executar script

sqoop import 
--connect jdbc:mysql://h122.wzk.icu:3306/sqoop 
--username hive 
--password [email protected] 
--target-dir /root 
--append 
-m 1 
--fields-terminated-by "t" 
--query 'select gname, serialNumber, price, stock_number,
create_time from goodtbl where price>88 and $CONDITIONS;'
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

上述参数的解释:

  • A parte where da instrução de consulta deve conter '$CONDITIONS'
  • Se aspas duplas forem usadas após a consulta, um símbolo de transferência deverá ser adicionado antes de $CONDITIONS para evitar que o shell pense que é sua própria variável.

atribuições

Pode-se observar que o Sqoop inicia a tarefa MapReduce
Insira a descrição da imagem aqui

Aguardando execução

Neste ponto a tarefa começou a ser alocada Mapa -> Reduzir
Insira a descrição da imagem aqui

Ver resultados

Você pode ver que a tarefa foi concluída
Insira a descrição da imagem aqui

Importação parcial: especifique colunas

Executar script

sqoop import 
--connect jdbc:mysql://h122.wzk.icu:3306/sqoop 
--username hive 
--password [email protected] 
--target-dir /root 
--delete-target-dir 
--num-mappers 1 
--fields-terminated-by "t" 
--columns gname,serialNumber,price 
--table goodtbl
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

上述参数的解释:

  • Se várias colunas estiverem envolvidas em colunas, separe-as com vírgulas e não adicione espaços! ! !

atribuições

Consistente com o conteúdo acima, o conteúdo repetido não será incluído e apenas parte será interceptada.
Insira a descrição da imagem aqui

Importação parcial: --where

Executar script

sqoop import 
--connect jdbc:mysql://h122.wzk.icu:3306/sqoop 
--username hive 
--password [email protected] 
--target-dir /root 
--delete-target-dir 
-m 1 
--fields-terminated-by "t" 
--table goodtbl 
--where "price>=68"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

atribuições

Consistente com o acima exposto, o conteúdo, resultados, etc. são basicamente repetidos e não serão excluídos.

Adicione a descrição da imagem