Resumen de aprendizaje de Sqoop

Uno: Introducción a sqoop

  1. sqoop es una herramienta diseñada para transferir de manera eficiente cantidades masivas de datos. Generalmente se usa para sincronizar datos de una base de datos relacional a una base de datos no relacional.
  2. Utilice sqoop para importar y exportar datos, que esencialmente ejecuta el programa Mapreduce, haciendo un uso completo de la paralelización y la tolerancia a fallas de MR.
  3. Sqoop admite actualizaciones incrementales, agregando nuevos registros a la fuente de datos exportada más recientemente.

Dos: uso de sqoop

    Obtener el nombre de la base de datos en la base de datos MySQL

sqoop list-database 
-connect 'jdbc:mysql://10.1.96.xx:3306' 
-username test 
-password test

  Obtenga los nombres de todas las tablas en una determinada base de datos de la base de datos sqlserver

sqoop list-tables 
connect'jdbc:sqlserver://192.168.12.xx:1433;database=pems;
username=sa;password=v3pems@2020'

 sqoop importa todas las tablas en una base de datos en la base de datos de Oracle en Hive

sqoop import-all-tables 
-connect jdbc:oracle:thin:@10.89.142.207:1521:orcl 
-username scott -password tiger -hive-database eda 
-hive-import -create-hive-table -m 1

Utilice Sqoop para ejecutar la declaración SQL

sqoop eval -connect 'jdbc:sqlserver://192.168.12.65:1433;database=PEMS_DATA;
username=sa;password=V3pems@2021' -query'select count(*) from rep_energy_tar'

Tres: comandos de operación comunes de sqoop

Usar descripción de parámetro

Importación de datos: importación de sqoop

La descripción del parámetro se puede ver a través del comando sqoop import --help

Parámetros comunes

  • --Connect especifica la cadena de conexión JDBC
  • --Connection-manager especifica el nombre de la clase del administrador de conexiones
  • --Connection-param-file especifica el archivo de parámetros de conexión
  • - El controlador especifica manualmente la clase de controlador JDBC que se utilizará
  • --Hadoop-home anula el parámetro $ HADOOP_MAPR ED_HOME_ARG
  • –Cubierta de casa mapeada de Hadoop $ HADOOP_MAPR ED_HOME_ARG argumentos
  • - Ayuda a imprimir instrucciones
  • : Nivel de aislamiento de transacciones de metadatos Definir el nivel de aislamiento de transacciones para la consulta de metadatos
  • --Oracle-escaping-disabled Deshabilita el mecanismo de escape del administrador de conexiones de Oracle / OraOop
  • -P leer la contraseña de la consola
  • --Contraseña establecida verificación de contraseña
  • --Password-alias alias de la contraseña del proveedor de credenciales
  • - Autenticación de conjunto de archivo de contraseña en la ruta del archivo de contraseña
  • - Aislamiento relajado utiliza aislamiento de lectura sin mi para las importaciones
  • --Skip-dist-cache Omite copiar el archivo jar a la caché distribuida
  • --Temporary-rootdir define el directorio raíz temporal para las importaciones
  • --Throw-on-error Rethrow RuntimeException cuando ocurre un error durante el trabajo
  • - Nombre de usuario establece el nombre de usuario para la autenticación
  • - Imprime más información detalladamente mientras trabajas

Parámetros de control importados

  • --Anexar datos de importación en modo anexar
  • --As-avrodatafile importará datos al almacenamiento de archivos avro
  • --As-parquetfile importará datos al almacenamiento de archivos de parquet
  • --As-sequencefile importará datos como almacenamiento de archivos SequenceFile
  • --Como archivo de texto Importar datos en forma de texto sin formato (predeterminado)
  • --Autoreset-to-one-mapper Si no hay una clave de división disponible, restablezca el número de mapeadores a un mapeador
  • - Consulta de límites establece consulta de límites, recupera los valores máximo y mínimo de la clave principal
  • --Las columnas <col, col, col…> especifican las columnas que deben importarse
  • --Compression-codec El códec de compresión utilizado para la importación
  • --Delete-target-dir Importar datos en modo de eliminación (si el archivo de destino existe, eliminar y luego importar. Si no se especifica, si la ruta de destino existe, se informará un error)
  • - Ruta rápida de importación directa de uso directo
  • --Direct-split-size Al importar en modo directo, divida el flujo de entrada por "n" bytes
  • -e, -query importa el resultado de la "instrucción" SQL
  • --Fetch-size Cuando se necesitan más filas, establezca el número de filas recuperadas de la base de datos 'n' y establezca el tamaño máximo de LOB en línea
  • -m, --num-mappers Usa n tareas de mapa para importar en paralelo. El paralelismo predeterminado es 4
  • --Mapreduce-job-name establece el nombre del trabajo mapreduce generado
  • --Clave de combinación que se usará para la columna Clave del resultado combinado (se usa para combinar datos repetidos durante la importación incremental)
  • : Se utiliza para dividir la columna de la tabla de unidades de trabajo
  • --Split-limit El límite superior de la división de filas para cada columna dividida de fecha / hora / marca de tiempo y tipo de entero. Para los campos de fecha o marca de tiempo, se calcula en segundos. El límite de división debe ser mayor que 0
  • --Table El nombre de la tabla leída (la tabla que se va a importar)
  • --Target-dir La ruta de destino donde se almacena la tabla importada en HDFS
  • - Validar Utilice el validador configurado para validar la copia
  • - Validation-failurehandler ValidationFailureHandler nombre de clase completo
  • --Validation -reshold Nombre de clase completamente calificado de ValidationThreshold
  • - Validator Validator nombre de clase completamente calificado
  • - Ruta principal del directorio de almacén para importar hdfs
  • - Dónde se usa el filtrado de condiciones WHERE al importar
  • -z, --compress habilita la compresión

Parámetros de importación incrementales

  • --Columna de origen de columna de verificación para verificar cambios incrementales
  • - Incremental define la importación incremental con el tipo "append" o "lastmodified"
  • - Último valor Verifica de forma incremental el último valor importado en la columna

Parámetros de formato de línea de salida

  • --Enclosed-by establece el carácter adjunto del campo requerido
  • - Escapado por el carácter de escape establecido
  • --Fields-terminted-by set field separator (campos-terminados-por establecer separador de campos
  • --Líneas terminadas por un conjunto de caracteres de final de línea
  • --Mysql-delimiters Use el conjunto de delimitadores predeterminado de MySQL: campo :,; línea: \ n; carácter de escape: \; delimitador de campo: '
  • --Opcionalmente-encerrado por establece el campo que contiene los caracteres

Ingrese los parámetros de análisis

  • --Input-enclosed-by establece la máscara de campo requerida
  • --Input-escaped-by set input escape character
  • --Input-fields-terminted-by set input field separator
  • --Líneas de entrada terminadas por establecer el carácter final de la línea de entrada
  • - Campos de conjunto de entrada-opcionalmente-encerrados por que contienen caracteres

Parámetros de Hive

  • --Create-hive-table crea automáticamente una tabla de Hive al importar. Si la tabla de Hive de destino existe, falla
  • --Hive-database Establece el nombre de la base de datos que se utilizará al importar a la colmena
  • --Hive-delims-replacement reemplaza el registro de Hive \ 0x01 y el separador de línea (\ n \ r) en el campo de cadena importada con una cadena definida por el usuario
  • --Hive-drop-import-delims elimina el registro de Hive \ 0x01 y el separador de línea (\ n \ r) del campo de cadena importado
  • --Hive-home anula el parámetro de configuración $ HIVE_HOME
  • --Hive-import Importa la tabla a Hive (si no se establece ningún separador, se usa el separador predeterminado de Hive)
  • --Suprimir colmena sobrescribir datos existentes en la tabla de colmena (sobrescribir importación)
  • --Hive-partition-key Establece la clave de partición que se utilizará al importar a la colmena
  • --Hive-partition-value Establece el valor de la partición que se utilizará al importar a la colmena.
  • --Hive-table Establece el nombre de la tabla que se utilizará al importar a la colmena
  • --Map-column-hive Anula la asignación de la columna especificada al tipo de colmena

 

Parámetros de HBase

  • --Column-family establece la familia de columnas de destino importada
  • --Hbase-bulkload habilita la carga masiva de HBase
  • --Hbase-create-table Si se especifica, crea la tabla HBase que falta
  • --Hbase-row-key especifica qué columna de entrada usar como clave de fila
  • --Hbase-table El nombre de la tabla importada a HBase

 

 

referencias:

https://zhuanlan.zhihu.com/p/163266351

 

Supongo que te gusta

Origin blog.csdn.net/yezonghui/article/details/114869257
Recomendado
Clasificación