Exportaciones Sqoop utilizando el método de inserción de actualización y actualización
Con el modo de inserción, los registros exportados por Sqoop se añaden al final de la tabla de destino. Sqoop también ofrece un modo de actualización que puede utilizar al proporcionar la --update-clave argumento de la línea de comandos. Esta acción hace que Sqoop para generar un SQL ACTUALIZACIÓN declaración a ejecutar en el RDBMS o datos de almacén.
Suponga que desea actualizar una tabla de tres columnas con los datos almacenados en el archivo de HDFS / / my-hdfs-archivo de usuario. El archivo contiene estos datos:
100, 1.000, 2.000
El siguiente comando Sqoop exportación abreviada genera el correspondiente SQL ACTUALIZACIÓN declaración en su sistema de base de datos:
$ Sqoop exportación (Argumentos genéricos) - tabla de destino-relacional-table - Actualización clave column1 - export-dir /user/my-hdfs-file...Generates => target-relacional-mesa ACTUALIZACIÓN SETcolumn2 = 1000 , column3 = 2000WHERE column1 = 100-
Con el comando de exportación anterior, si el target-relacional-mesa en su sistema RDBMS o almacenamiento de datos no tiene un registro con el valor correspondiente en column1, no se cambia nada en target-relacional-mesa.
Sin embargo, también puede incluir otro argumento que inserta o añade tus datos meta-tabla si no se encuentran registros coincidentes. Piénsalo de esta manera: Si existe ACTUALIZACIÓN demás INSERT.
Esta técnica se conoce como frecuencia upsert en la lengua vernácula de base de datos o como MERGE En otras implementaciones. El argumento para el modo upsert es --actualización de modo