sql >> Base de Datos >  >> RDS >> Mysql

¿Cuál es el propósito de $CONDICIONES bajo --query?

$CONDITIONS sqoop lo utiliza internamente para modificar la consulta y lograr la división de tareas y la obtención de metadatos.

Para obtener metadatos, sqoop reemplaza \$CONDITIONS con 1=0

select * from table where 1 = 0

Para obtener todos los datos (1 asignador), sqoop reemplaza \$CONDITIONS con 1=1

select * from table where 1 = 1

En el caso de múltiples mapeadores, sqoop reemplaza \$CONDITIONS con consulta de rango para obtener un subconjunto de datos de RDBMS.

Por ejemplo, id se encuentra entre 1 y 100 y estamos usando 4 mapeadores.

Select * From table WHERE id >= 1' AND 'id < 25
Select * From table WHERE id >= 25' AND 'id < 50
Select * From table WHERE id >= 50' AND 'id < 75
Select * From table WHERE id >= 75' AND 'id <= 100