Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Por qué sqoop importa datos a Hive para generar un repositorio de metadatos local?

¿Por qué sqoop importa datos a Hive para generar un repositorio de metadatos local?

Importar datos

Establecer HADOOP_HOME

$ HADOOP_HOME=/path/to/some/hadoop sqoop import --arguments...

Descargue el Sqoop apropiado y descomprímalo en el disco duro. Lo llamado apropiado significa que la versión de Sqoop debe ser consistente con la versión de Hadoop. Mi versión de Hadoop es 1.03 y la versión descargada de Sqoop es 1.4.2.

$ tar zvxf sqoop-1.4.2.bin__hadoop-1.0.0.tar.gz

Descargue el controlador JDBC correspondiente y coloque el controlador JDBC descargado en la carpeta lib de Sqoop.

Descargue el controlador JDBC correspondiente y coloque el controlador JDBC descargado en la carpeta lib de Sqoop.

Importar datos

$ sqoop import --hive-import --connect jdbc:oracle:thin:@192.168.56.111:1521:DBNAME --username NOMBRE DE USUARIO --contraseña CONTRASEÑA - -verbose -m 1 --table TABLENAME

DBNAME: nombre de la base de datos

USERNAME: nombre de usuario

CONTRASEÑA: contraseña

TABLENAME: tabla nombre

-m: el número de procesos simultáneos que importarán datos, el valor predeterminado es 4. Si se están importando datos, la tabla no se puede importar. El valor predeterminado es 4. Si está importando una pequeña cantidad de datos, puede configurarlo en 1 para acelerar la importación. En términos generales, Sqoop divide los datos de manera uniforme utilizando claves primarias. En el caso de la importación simultánea, puede consultar la documentación oficial para configurar las columnas divididas relevantes.

Si Oracle está instalado en una computadora remota, asegúrese de que Sqoop pueda hacer ping a la computadora donde se encuentra Oracle. Por ejemplo, si Oracle está instalado en Win7, es posible que deba desactivar el firewall de Win7. Además, Oracle debe configurarse para acceso remoto.

Tenga en cuenta que los nombres de usuarios y tablas deben estar en mayúsculas a menos que se creen con mayúsculas y minúsculas mixtas entre comillas.

Un error muy extraño

Durante el proceso de importación de datos, encontré un problema, es decir, no aparecía ningún mensaje de error al importar, y también vi los archivos relacionados generados en HDFS Sin embargo, cuando se utiliza el comando MOSTRAR TABLAS en Hive, no se pueden ver las tablas recién importadas. Hay dos soluciones en este punto. Una es usar manualmente el comando CREAT para crear la tabla en Hive y luego SELECCIONARLA, y encontrará que hay datos en la tabla. Entonces, mi suposición (solo una suposición) podría ser que los metadatos de la tabla no se escriben en Hive después de la importación. Investigué un poco y descubrí que Hive almacena metadatos en Derby de forma predeterminada, así que consideré cambiar Derby a MySQL.