Amazon EMR で Sqoop を使用して Amazon RDS データを Parquet 形式で Amazon S3 にエクスポートするときに発生する「不明なデータセット URI のパターン: dataset」エラーを解決する方法を教えてください。

所要時間1分
0

Amazon EMR で Sqoop を使用して Amazon Relational Database Service (Amazon RDS) のデータを Parquet 形式で Amazon Simple Storage Service (Amazon S3) にエクスポートするときに発生する「不明なデータセット URI のパターン: dataset」エラーを解決したいです。

解決策

不明なデータセットの URI パターン: dataset エラーは、Sqoop バージョン 1.4.7 に影響します。このエラーを解決するには、次の手順を実行し、kite-data-s3-1.1.0.jar をダウンロードしてインストールします。

  1. Amazon EMR プライマリノードに接続するには、SSH を使用します

  2. kite-data-s3-1.1.0.jar をダウンロードするには、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

    注: example-ip-address は、お使いの IP アドレスに置き換えます。

  3. ダウンロードしたファイルが正しいサイズ (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

    注: example-ip-address は、お使いの IP アドレスに置き換えます。

  4. ダウンロードしたファイルを Sqoop ライブラリディレクトリ /usr/lib/sqoop/lib/ に移動します。

    sudo cp kite-data-s3-1.1.0.jar /usr/lib/sqoop/lib/
  5. ダウンロードしたファイルに必要なアクセス許可を付与します。

    sudo chmod 755 /usr/lib/sqoop/lib/kite-data-s3-1.1.0.jar
  6. ダウンロードしたファイルをインポートするには、s3n コネクタを使用します。

    例:

    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

    注: s3 コネクタを使用した場合、不明なデータセットの URI パターン: dataset エラーが表示されます。--target-dir の値は、少なくとも 3 つのレイヤーを含むパスの形式である必要があります (s3n://example-bucket/example-namespace/example-dataset>)。

詳細については、Kite SDK のウェブサイトで「データセット、ビュー、リポジトリの URI」を参照してください。