Pentaho Data Integration でAmazon S3 のデータを連携

Jerod Johnson
Jerod Johnson
Director, Technology Evangelism
Pentaho Data Integration で Amazon S3 のデータ をベースにした ETL パイプラインを構築します。

CData JDBC Driver for Amazon S3 を使用すると、データパイプラインからリアルタイムデータにアクセスできます。Pentaho Data Integration は、ETL(Extraction, Transformation, and Loading)エンジンであり、データをクレンジングし、アクセス可能な統一フォーマットでデータを格納します。この記事では、Amazon S3 のデータ に JDBC データソースとして接続し、Pentaho Data Integration で Amazon S3 のデータ をベースにしたジョブやトランスフォーメーションを構築する方法を説明します。

Amazon S3 への接続を設定

Amazon S3 リクエストを認可するには、管理者アカウントまたはカスタム権限を持つIAM ユーザーの認証情報を入力します。AccessKey をアクセスキーID に設定します。SecretKey をシークレットアクセスキーに設定します。

Note: AWS アカウント管理者として接続できますが、AWS サービスにアクセスするにはIAM ユーザー認証情報を使用することをお勧めします。

尚、CData 製品はAmazon S3 のファイルの一覧表示やユーザー管理情報の取得用です。S3 に保管されているExcel、CSV、JSON などのファイル内のデータを読み込みたい場合には、Excel DriverCSV DriverJSON Driver をご利用ください。

アクセスキーの取得

IAM ユーザーの資格情報を取得するには:

  1. IAM コンソールにサインインします。
  2. ナビゲーションペインで「ユーザー」を選択します。
  3. ユーザーのアクセスキーを作成または管理するには、ユーザーを選択してから「セキュリティ認証情報」タブを選択します。

AWS ルートアカウントの資格情報を取得するには:

  1. ルートアカウントの資格情報を使用してAWS 管理コンソールにサインインします。
  2. アカウント名または番号を選択し、表示されたメニューで「My Security Credentials」を選択します。
  3. 「Continue to Security Credentials」をクリックし、「Access Keys」セクションを展開して、ルートアカウントのアクセスキーを管理または作成します。

AWS ロールとして認証

多くの場合、認証にはAWS ルートユーザーのダイレクトなセキュリティ認証情報ではなく、IAM ロールを使用することをお勧めします。RoleARN を指定することでAWS ロールを代わりに使用できます。これにより、CData 製品は指定されたロールの資格情報を取得しようと試みます。

(すでにEC2 インスタンスなどで接続されているのではなく)AWS に接続している場合は、ロールを引き受けるIAM ユーザーのAccessKey とSecretKey を追加で指定する必要があります。AWS ルートユーザーのAccessKey および SecretKey を指定する場合、ロールは使用できません。

SSO 認証

SSO 認証を必要とするユーザーおよびロールには、RoleARN およびPrincipalArn 接続プロパティを指定してください。各Identity Provider に固有のSSOProperties を指定し、AccessKey とSecretKey を空のままにする必要があります。これにより、CData 製品は一時的な認証資格情報を取得するために、リクエストでSSO 認証情報を送信します。

組み込みの接続文字列デザイナー

JDBC URL の構築を支援するには、Amazon S3 JDBC Driver に組み込まれている接続文字列デザイナーを使用してください。JAR ファイルをダブルクリックするか、コマンドラインから JAR ファイルを実行します。

java -jar cdata.jdbc.amazons3.jar

接続プロパティを設定し、接続文字列をクリップボードにコピーします。

JDBC URL を設定する際には、Max Rows 接続プロパティの設定も検討してください。これにより返される行数が制限され、レポートやビジュアライゼーションの設計時にパフォーマンスを向上させることができます。

一般的な JDBC URL は次のようになります:

jdbc:amazons3:AccessKey=a123;SecretKey=s123;

接続文字列を保存して、Pentaho Data Integration で使用します。

Pentaho DI から Amazon S3 に接続

Pentaho Data Integration を開き、「Database Connection」を選択して CData JDBC Driver for Amazon S3 への接続を設定します。

  1. 「General」をクリックします。
  2. Connection name を設定します(例:Amazon S3 Connection)。
  3. Connection type を「Generic database」に設定します。
  4. Access を「Native (JDBC)」に設定します。
  5. Custom connection URL に Amazon S3 の接続文字列を設定します(例:
    jdbc:amazons3:AccessKey=a123;SecretKey=s123;
    )。
  6. Custom driver class name を「cdata.jdbc.amazons3.AmazonS3Driver」に設定します。
  7. 接続をテストし、「OK」をクリックして保存します。

Amazon S3 のデータパイプラインを作成

CData JDBC Driver を使用して Amazon S3 への接続が設定されたら、新しいトランスフォーメーションまたはジョブを作成する準備が整いました。

  1. 「File」>>「New」>>「Transformation/job」をクリックします。
  2. 「Table input」オブジェクトをワークフローパネルにドラッグし、Amazon S3 接続を選択します。
  3. 「Get SQL select statement」をクリックし、Database Explorer を使用して利用可能なテーブルとビューを表示します。
  4. テーブルを選択し、必要に応じてデータをプレビューして確認します。

ここから、適切な同期先を選択し、レプリケーション中にデータを変更、フィルタリング、その他の処理を行うトランスフォーメーションを追加することで、トランスフォーメーションまたはジョブを続行できます。

無料トライアルと詳細情報

CData JDBC Driver for Amazon S3 の 30日間無料トライアルをダウンロードして、Pentaho Data Integration で Amazon S3 のデータ のリアルタイムデータを今すぐ活用しましょう。

はじめる準備はできましたか?

Amazon S3 Driver の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

Amazon S3 Icon Amazon S3 JDBC Driver お問い合わせ

Amazon S3 ファイルストレージデータに連携するJava アプリケーションを素早く、簡単に開発できる便利なドライバー。