Ich möchte den Fehler „Unknown dataset URI pattern: dataset“ beheben, wenn ich Sqoop in Amazon EMR verwende, um Amazon Relational Database Service (Amazon RDS)-Daten im Parquet-Format in Amazon Simple Storage Service (Amazon S3) zu exportieren.
Lösung
Der Fehler Unknown dataset URI pattern: dataset betrifft Sqoop Version 1.4.7. Gehe wie folgt vor, um kite-data-s3-1.1.0.jar herunterzuladen und zu installieren und um so diesen Fehler zu beheben:
-
Verwende SSH, um eine Verbindung zum Amazon EMR-Primärknoten herzustellen.
-
Verwende wget, um kite-data-s3-1.1.0.jar herunterzuladen:
[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
Hinweis: Ersetze example-ip-address durch deine IP-Adresse.
-
Vergewissere dich, dass die heruntergeladene Datei die richtige Größe hat (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
Hinweis: Ersetze example-ip-address durch deine IP-Adresse.
-
Verschiebe die heruntergeladene Datei in das Sqoop-Bibliotheksverzeichnis /usr/lib/sqoop/lib/:
sudo cp kite-data-s3-1.1.0.jar /usr/lib/sqoop/lib/
-
Erteile die erforderliche Berechtigung für die heruntergeladene Datei:
sudo chmod 755 /usr/lib/sqoop/lib/kite-data-s3-1.1.0.jar
-
Verwende den s3n-Konnektor, um die heruntergeladene Datei zu importieren.
Beispiel:
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
Hinweis: Wenn du den s3-Konnektor verwendest, wird der Fehler Unknown dataset URI pattern: dataset angezeigt. Der Wert von --target-dir muss das Format eines Pfades mit mindestens 3 Ebenen haben (s3n://example-bucket/example-namespace/example-dataset>)
Weitere Informationen findest du unter Dataset, view, and repositories URI (Datensatz-, Anzeige- und Repository-URI) auf der Kite SDK-Website.