Come faccio a risolvere l'errore "Unknown dataset URI pattern: dataset" quando esporto dati Amazon RDS su Amazon S3 in formato Parquet tramite Sqoop?

2 minuti di lettura
0

Sto cercando di utilizzare un cluster Amazon EMR per esportare dati Amazon Relational Database Service (Amazon RDS) su Amazon Simple Storage Service (Amazon S3) in formato Apache Parquet utilizzando Apache Sqoop. Sto usando il parametro --as-parquetfile, ma continuo a ricevere questo errore: "Check that JARs for s3a datasets are on the class path org.kitesdk.data.DatasetNotFoundException: Unknown dataset URI pattern: dataset."

Breve descrizione

Questo errore riguarda la versione 1.4.7 di Sqoop. Per risolverlo, scarica e installa kite-data-s3-1.1.0.jar.

Risoluzione

Nota: la seguente soluzione è stata testata su Amazon EMR versione 5.34.0 e su Sqoop versione 1.4.7.

1.    Connettiti al nodo principale tramite SSH.

2.    Usa wget per scaricare kite-data-s3-1.1.0.jar:

[hadoop@ip-xxx-xx-xx-x]$ wget https://repo1.maven.org/maven2/org/kitesdk/kite-data-s3/1.1.0/kite-data-s3-1.1.0.jar

3.    Verifica che il file scaricato abbia le dimensioni corrette (1,7 MB):

[hadoop@ip-xxx-xx-xx-x]$ du -h
1.7M     /usr/lib/sqoop/lib/kite-data-s3-1.1.0.jar

4.    Sposta il JAR nella directory della libreria di Sqoop (/usr/lib/sqoop/lib/):

sudo cp kite-data-s3-1.1.0.jar /usr/lib/sqoop/lib/

5.    Concedi l'autorizzazione sul JAR:

sudo chmod 755 kite-data-s3-1.1.0.jar

6.    Usa il connettore s3n per importare il JAR. Se utilizzi il connettore s3, riceverai l'errore Unknown dataset URI pattern: dataset.

sqoop import --connect jdbc:mysql://mysql.cdfqbesrukqe.eu-west-1.rds.amazonaws.com:8193/dev --username admin -P --table hist_root --target-dir "s3n://awsexamplebucket/sqoop_parquet/demo" --as-parquetfile -m 2 --split-by identifiers -- --schema onwatch

Per ulteriori informazioni sull'URI del set di dati SDK di Kite, consulta la pagina URI di set di dati, viste e repository.


AWS UFFICIALE
AWS UFFICIALEAggiornata 2 anni fa