Quiero resolver el error “Unknown dataset URI pattern: dataset” cuando uso Sqoop en Amazon EMR para exportar datos de Amazon Relational Database Service (Amazon RDS) a Amazon Simple Storage Service (Amazon S3) en formato Parquet.
Resolución
El error Unknown dataset URI pattern: dataset afecta a la versión 1.4.7 de Sqoop. Para resolver este error, sigue estos pasos para descargar e instalar kite-data-s3-1.1.0.jar:
-
Para conectarte al nodo principal de Amazon EMR, utiliza SSH.
-
Para descargar kite-data-s3-1.1.0.jar, usa wget:
[hadoop@example-ip-address]$ wget https://repo1.maven.org/maven2/org/kitesdk/kite-data-s3/1.1.0/kite-data-s3-1.1.0.jar
Nota: Sustituye example-ip address por tu dirección IP.
-
Comprueba que el archivo descargado tenga el tamaño correcto (1,7 MB):
[hadoop@example-ip-address]$ du -h kite-data-s3-1.1.0.jar
1.7M kite-data-s3-1.1.0.jar
Nota: Sustituye example-ip address por tu dirección IP.
-
Mueve el archivo descargado al directorio de la biblioteca de Sqoop /usr/lib/sqoop/lib/:
sudo cp kite-data-s3-1.1.0.jar /usr/lib/sqoop/lib/
-
Concede el permiso necesario para el archivo descargado:
sudo chmod 755 /usr/lib/sqoop/lib/kite-data-s3-1.1.0.jar
-
Para importar el archivo descargado, utiliza el conector s3n.
Ejemplo:
sqoop import --connect jdbc:mysql://mysql.cdfqbesrukqe.eu-west-1.rds.amazonaws.com:3306/dev --username admin -P --table hist_root --target-dir example-s3n://example-bucket/sqoop_parquet/demo --as-parquetfile -m 2 --split-by identifiers -- --schema onwatch
Nota: Si usas el conector s3, aparece el error Unknown dataset URI pattern: dataset. El valor de --target-dir debe tener el formato de una ruta con al menos 3 capas (s3n://bucket-ejemplo/espacio-nombres-ejemplo/conjunto-datos-ejemplo>)
Para obtener más información, consulta Dataset, view, and repositories URI (URI de conjuntos de datos, vistas y repositorios) en el sitio web del SDK de Kite.