Compartir tecnología

Hadoop-23 Datos de Sqoop MySQL a HDFS (parte) SQL genera datos Clúster HDFS Importación de Sqoop jdbc ETL MapReduce

2024-07-12

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

Contenido del capítulo

En el apartado anterior completamos el siguiente contenido:

  • Escribir un script SQL para generar datos.
  • Inicie nuestros servicios dependientes: HDFS, Hive, YARN
  • Sqoop importa todos los datos a Hive
  • Ver el estado de MapReduce, ver los resultados de HDFS

Introducción a los antecedentes

Aquí hay tres servidores en la nube de red pública, cada uno de ellos 2C4G, que crean un entorno de aprendizaje de Hadoop para que yo aprenda.
Lo construí en una máquina virtual VM una vez antes, pero no dejé ninguna nota. Esta vez, aproveché las tres máquinas que había recopilado en los últimos días y rápidamente intenté construirlo en la red pública. experimentalo.

  • 2C4G nº h121
  • 2C4G nº h122
  • 2C2G nº h123

Insertar descripción de la imagen aquí

Precauciones

Apache Sqoop 于 2021 年 6 月迁入 Attic。
La misión de Apache Sqoop es crear y mantener software de transferencia de datos a gran escala relacionado con Apache Hadoop y el almacenamiento de datos estructurados.
Aunque el proyecto puede estar desactualizado, si tienes suficiente tiempo, podrás estudiarlo adecuadamente y ¡puede que te sea de alguna ayuda! ! !

Importación parcial: --query

Ejecutar 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

上述参数的解释:

  • La parte donde de la declaración de consulta debe contener '$CONDICIONES'
  • Si se utilizan comillas dobles después de la consulta, se debe agregar un símbolo de transferencia antes de $CONDITIONS para evitar que el shell piense que es su propia variable.

Asignaciones

Se puede observar que Sqoop inicia la tarea MapReduce
Insertar descripción de la imagen aquí

Esperando ejecución

En este punto, la tarea ha comenzado a asignarse Mapa -> Reducir
Insertar descripción de la imagen aquí

Ver resultados

Puedes ver que la tarea está completa.
Insertar descripción de la imagen aquí

Importación parcial: especificar columnas

Ejecutar 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

上述参数的解释:

  • Si hay varias columnas involucradas en las columnas, sepárelas con comas y no agregue espacios. ! !

Asignaciones

De acuerdo con el contenido anterior, el contenido repetido no se incluirá y solo se interceptará una parte.
Insertar descripción de la imagen aquí

Importación parcial: --dónde

Ejecutar 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

Asignaciones

De acuerdo con lo anterior, el contenido, los resultados, etc. se repiten básicamente y no se eliminarán.

Por favor agregue la descripción de la imagen.