Amazon EMR クラスターを使用して、Apache Sqoop で Amazon Relational Database Service (Amazon RDS) のデータを Apache Parquet 形式で Amazon Simple Storage Service (Amazon S3) にエクスポートしようとしています。-as-parquetfile パラメータを使用していますが、このエラーが継続して発生します。
"Check that JARs for s3a datasets are on the class path org.kitesdk.data.DatasetNotFoundException: Unknown dataset URI pattern: dataset."
簡単な説明
このエラーは Sqoop バージョン 1.4.7 で発生します。エラーを解決するには、kite-data-s3-1.1.0.jar をダウンロードしインストールします。
解決方法
注意: 次のソリューションは、Amazon EMR リリースバージョン 5.34.0 および Sqoop バージョン 1.4.7 でテストされています。
1. SSH を使用してマスターノードに接続します。
2. wget を使用して 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. ダウンロードしたファイルが正しいサイズ (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. JAR を Sqoop ライブラリディレクトリ (/usr/lib/sqoop/lib/) に移動させます。
sudo cp kite-data-s3-1.1.0.jar /usr/lib/sqoop/lib/
5. JAR にアクセス許可を付与します。
sudo chmod 755 kite-data-s3-1.1.0.jar
6. s3n コネクタを使用して jar をインポートします。s3 コネクタを使用すると、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
Kite SDK データセット URI の詳細については、「Dataset, view, and repository URIss」をご参照ください。