🇸 Apache sqoop
Apache sqoop é un proxecto xa obsoleto, a última publicación data do 18 de xaneiro de 2019. En 2021, foi movido ao "ático" de Apache, o lugar onde se atopan os proxectos retirados ou que finalizaron o seu ciclo de vida ou non teñen suficientes desenvolvedores activos involucrados.
Este proxecto permítenos mover datos entre o HDFS (Hadoop Distributed File System) e un RDBMS (Relational Database Management System).
Hai dúas operacións básicas que nos interesan:
- import: Importar datos ao HDFS dende un RDBMS (dirección: do RDBMS ao HDFS).
- export: Exportar datos do HDFS ao RDBMS (dirección: do HDFS ao RDBMS).
Instalación
-
Descargamos e instalamos Java 1.8 ou Amazon Corretto
-
Baixamos a versión 1.4.7, descomprimímola e metémola no PATH:
- Agora, se executamos sqoop teremos que configurar o $HADOOP_COMMON_HOME:
Manexo
Imos ver o funcionamento con estes dous drivers:
- MySQL/MariaDB
- PostgreSQL
Proba de conexión
Imos probar a conectar coa BBDD world. Todos os exemplos inclúen esa BBDD. Podes ver a instalación de MySQL coa base de datos de proba aquí.
Importar datos no HDFS
Dirección: RDBMS (BBDD) → HDFS.
Importar compatible con HIVE
Crear táboas en HIVE
sqoop create-hive-table \
--username USUARIO-BD --password PASSWORD-BD \
--connect jdbc:mysql://IP-SERVIDOR/world \
--table country
Meter os datos na estrutura creada
sqoop import \
--username USUARIO-BD --password PASSWORD-BD \
--connect jdbc:mysql://IP-SERVIDOR/world \
--table country \
--target-dir /user/USUARIO-HADOOP/country \
--num-mappers 1 \
--hive-import
Exportar datos do HDFS
Dirección: HDFS → RDBMS (BBDD).
Resultado (HADOOP):