Sqoop を使用して Amazon RDS データを Parquet 形式で Amazon S3 にエクスポートする際に起こる「Unknown dataset URI pattern: dataset」というエラーを解決するにはどうすればよいですか?

最終更新日: 2020 年 5 月 11 日

Amazon EMR クラスターを使用して、Apache Sqoop で Amazon Relational Database Service (Amazon RDS) のデータを 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.28.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 URIs」をご参照ください。


この記事はお役に立ちましたか?

改善できることはありますか?


さらにサポートが必要な場合