製品をチェック

製品の詳細・30日間の無償トライアルはコチラ

CData Sync

Oracle へのAmazon Athena データのETL パイプラインを作ってデータを統合する方法

データパイプラインツールのCData Sync を使って、Amazon Athena データのOracle へのETL パイプラインをノーコードで作成してデータを統合する方法を解説します。

宮本航太
プロダクトスペシャリスト

最終更新日:2024-01-19
athena ロゴ

CData

sync ロゴ画像
Oracle Database ロゴ

こんにちは!プロダクトスペシャリストの宮本です。

CData Sync は、数百のSaaS / DB のデータをOracle をはじめとする各種DB / データウェアハウスにノーコードで統合・レプリケーション(複製)が可能なデータパイプラインツールです。本記事では、Amazon Athena データをCData Sync を使ってOracle に統合するデータパイプラインを作っていきます。Oracle は、オンプレミスのOracle のほかAWS RDS やGoogle Cloud SQL などクラウド上のOracle にもレプリケーションが可能です。

CData Sync とは?

CData Sync は、レポーティング、アナリティクス、機械学習、AI などで使えるよう、社内のデータを一か所に統合して管理できるデータ基盤をノーコードで構築できるETL ツールで、以下の特徴を持っています。

  1. Amazon Athena をはじめとする数百種類のSaaS / DB データに対応
  2. Oracle など多くのRDB、データレイク、データストア、データウェアハウスに同期可能
  3. 業務データのデータ分析基盤へのETL / ELT 機能に特化し、極限まで設定操作をシンプルに
  4. 主要なSaaS データの差分更新やCDC(Change Data Capture、変更データキャプチャ)のサポート
  5. フレキシブルなSQL での取得データの操作

CData Sync では、1.データソースとしてAmazon Athena の接続を設定、2.同期先としてOracle の接続を設定、3.Amazon Athena からOracle へのレプリケーションジョブの作成、という3つのステップだけでレプリケーション処理を作成可能です。以下に具体的な設定手順を説明します。

1.データソースとしてAmazon Athena の接続を設定

まずはじめに、CData Sync のブラウザ管理コンソールにログインします。CData Sync のインストールをまだ行っていない方は本記事の製品リンクからCData Sync をクリックして、30日の無償トライアルとしてCData Sync をインストールしてください。インストール後にCData Sync が起動して、ブラウザ設定画面が開きます。

それでは、データソース側にAmazon Athena を設定していきましょう。左の[接続]タブをクリックします。

  1. [+接続の追加]ボタンをクリックします。 コネクションの追加。
  2. [データソース]タブを選択して、リスト表示されるデータソースを選ぶか、検索バーにデータソース名を入力して、Amazon Athena を見つけます。
  3. Amazon Athena の右側の[→]をクリックして、Amazon Athena アカウントへの接続画面を開きます。もし、Amazon Athena のコネクタがデフォルトでCData Sync にインストールされていない場合には、ダウンロードアイコン(コネクタのアップロードアイコン)をクリックし、[ダウンロード]をクリックすると、CData Sync にコネクタがインストールされます。 データソースの追加。
  4. 接続プロパティにAmazon Athena に接続するアカウント情報を入力をします。

    Amazon Athena 接続プロパティの取得・設定方法

    Amazon Athena リクエストの認証には、アカウントの管理のクレデンシャルか、IAM ユーザーのカスタムPermission を設定します。 AccessKey にAccess Key Id、SecretKey にはSecret Access Key を設定します。

    AWS アカウントアドミニストレータとしてアクセスできる場合でも、AWS サービスへの接続にはIAM ユーザークレデンシャルを使用することが推奨されます。

    IAM ユーザーのクレデンシャル取得は以下のとおり:

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

    AWS ルートアカウントのクレデンシャル取得は以下のとおり:

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

    EC2 インスタンスからの認証

    EC2 インスタンスからCData 製品を使用していて、そのインスタンスにIAM ロールが割り当てられている場合は、認証にIAM ロールを使用できます。 これを行うには、UseEC2Roles をtrue に設定しAccessKeySecretKey を空のままにします。 CData 製品は自動的にIAM ロールの認証情報を取得し、それらを使って認証します。

    AWS ロールとして認証

    多くの場合、認証にはAWS ルートユーザーのダイレクトなセキュリティ認証情報ではなく、IAM ロールを使用することをお勧めします。 代わりにRoleARN を指定してAWS ロールを使用できます。これにより、CData 製品は指定されたロールの資格情報を取得しようと試みます。 (すでにEC2 インスタンスなどで接続されているのではなく)AWS に接続している場合は、役割を担うIAM ユーザーのAccessKeySecretKey を追加で指定する必要があります。AWS ルートユーザーのAccessKey およびSecretKey を指定する場合、 ロールは使用できません。

    MFA での認証

    多要素認証を必要とするユーザーおよびロールには、MFASerialNumber およびMFAToken 接続プロパティを指定してください。 これにより、CData 製品は一時的な認証資格情報を取得するために、リクエストでMFA 認証情報を送信します。一時的な認証情報の有効期間 (デフォルトは3600秒)は、TemporaryTokenDuration プロパティを介して制御できます。

    Amazon Athena への接続

    AccessKeySecretKey プロパティに加え、DatabaseS3StagingDirectoryRegion を設定します。Region をAmazon Athena データがホストされているリージョンに設定します。S3StagingDirectory をクエリの結果を格納したいS3内のフォルダに設定します。

    接続にDatabase が設定されていない場合は、CData 製品はAmazon Athena に設定されているデフォルトデータベースに接続します。

    データソースの追加。
  5. [作成およびテスト]をクリックして、正しくAmazon Athena に接続できているかをテストして保存します。これでレプリケーションのデータソースとしてAmazon Athena への接続が設定されました。

2.同期先としてOracle の接続を設定

次に、Amazon Athena データを書き込む先(=同期先)として、Oracle を設定します。同じく[接続]タブを開きます。

  • [+接続の追加]ボタンをクリックします。
  • [同期先]タブを選択して、リスト表示されるデータソースを選ぶか、検索バーにデータソース名を入力して、Oracle を見つけます。
  • Oracle の右側の[→]をクリックして、Oracle データベースへの接続画面を開きます。もし、Oracle のコネクタがデフォルトでCData Sync にインストールされていない場合には、ダウンロードアイコン(コネクタのアップロードアイコン)をクリックし、[ダウンロード]をクリックすると、CData Sync にコネクタがインストールされます。 Oracle を同期先として設定。
  • 必要な接続プロパティを入力します。Oracle に接続するためには、Oracle Database Client が必要です。Instant Client では不可です。Oracle Database Client のダウンロード時には、アプリケーションのbit と一致するものをダウンロードします。インストール時にはRuntime もしくはAdministrator インストールタイプを選択します。

    Oracle データベースへの接続に次を設定します:

    • Server: Oracle データベースのホスト名、もしくはサーバーのIP あどれす。
    • Port: Oracle データベースをホストしているサーバーに接続するポート名。
    • User: Oracle データベースに認証するuser ID。
    • Password: Oracle データベースに認証するpassword。
    • SID: Oracle データベースのサービス名。

  • [作成およびテスト]をクリックして、正しく接続できているかをテストします 同期先接続のテスト
  • これで同期先としてOracle を設定できました。CData Sync では、Oracle のデータベース名を指定するだけで、同期するAmazon Athena に併せたテーブルスキーマを自動的にCREATE TABLE してくれます。同期データに合わせたテーブルを事前に作成するなどの面倒な手順は必要ありません。もちろん、既存テーブルにマッピングを行いデータ同期を行うことも可能です。
  • 3.Amazon Athena からOracle へのレプリケーションジョブの作成

    CData Sync では、レプリケーションをジョブ単位で設定します。ジョブは、Amazon Athena からOracle という単位で設定し、複数のテーブルを含むことができます。レプリケーションジョブ設定には、[ジョブ]タブに進み、[+ジョブを追加]ボタンをクリックします。 ジョブの追加Salesforce の例)。

    [ジョブを追加]画面が開き、以下を入力します:

    1. 名前:ジョブの名前
    2. データソース:ドロップダウンリストから先に設定したAmazon Athena を選択
    3. 同期先:先に設定したOracle を選択
    データソースの設定Salesforce の例)。

    すべてのオブジェクトをレプリケーションする場合

    Amazon Athena のすべてのオブジェクト / テーブルをレプリケーションするには、[種類]セクションで[すべて同期]を選択して、[ジョブを追加]ボタンで確定します。

    作成したジョブ画面で、右上の[▷実行]ボタンをクリックするだけで、全Amazon Athena テーブルのOracle への同期を行うことができます。

    オブジェクトを選択してレプリケーションする場合

    Amazon Athena から特定のオブジェクト / テーブルを選択してレプリケーションを行うことが可能です。[種類]セクションでは、[標準(個別設定)]を選んでください。

    次に[ジョブ]画面で、[タスク]タブをクリックし、[タスクを追加]ボタンをクリックします。 ジョブへのタスク追加Salesforce の例)。

    するとCData Sync で利用可能なオブジェクト / テーブルのリストが表示されるので、レプリケーションを行うオブジェクトにチェックを付けます(複数選択可)。[ジョブを追加]ボタンで確定します。

    タスク選択(Salesforce の例)。

    作成したジョブ画面で、[▷実行]ボタンをクリックして(もしくは各タスク毎の実行ボタンを押して)、レプリケーションジョブを実行します。 作成したジョブの実行(Salesforce の例)。

    このようにとても簡単にAmazon Athena からOracle への同期を行うことができました。

    CData Sync の主要な機能を試してみる:スケジューリング・差分更新・ETL

    ジョブのスケジュール起動設定

    CData Sync では、同期ジョブを1日に1回や15分に1回などのスケジュール起動をすることができます。ジョブ画面の[概要]タブから[スケジュール]パネルを選び、[⚙設定]ボタンをクリックします。[間隔]と同期時間の[毎時何分]を設定し、[保存]を押して設定を完了します。これでCData Sync が同期ジョブをスケジュール実行してくれます。ユーザーはダッシュボードで同期ジョブの状態をチェックするだけです。 スケジュール実行設定。

    差分更新

    CData Sync では、主要なデータソースでは、差分更新が可能です。差分更新では、最後のジョブ実行時からデータソース側でデータの追加・変更があったデータだけを同期するので、レプリケーションのクエリ・通信のコストを圧倒的に抑えることが可能です。

    差分更新を有効化するには、ジョブの[概要]タブから「差分更新」パネルを選び、[⚙設定]ボタンをクリックします。[開始日]と[レプリケーション間隔]を設定して、[保存]します。

    SQL での取得データのカスタマイズ

    CData Sync は、デフォルトではAmazon Athena のオブジェクト / テーブルをそのままOracle に複製しますが、ここにSQL、またはdbt 連携でのETL 処理を組み込むことができます。テーブルカラムが多すぎる場合や、データ管理の観点から一部のカラムだけをレプリケーションしたり、さらにデータの絞り込み(フィルタリング)をしたデータだけをレプリケーションすることが可能です。

    ジョブの[概要]タブ、[タスク]タブへと進みます。選択されたタスク(テーブル)の[▶]の左側のメニューをクリックし、[編集]を選びます。タスクの編集画面が開きます。

    UI からカラムを選択する場合には、[カラム]タブから[マッピング編集]をクリックします。レプリケーションで使用しないカラムからチェックを外します。

    SQL を記述して、フィルタリングなどのカスタマイズを行うには、[クエリ]タブをクリックし、REPLICATE [テーブル名]の後に標準SQL でフィルタリングを行います。 レプリケーションのカスタマイズ設定。

    Amazon Athena からOracle へのデータ同期には、ぜひCData Sync をご利用ください

    このようにノーコードで簡単にAmazon Athena データをOracle にレプリケーションできます。データ分析、AI やノーコードツールからのデータ利用などさまざまな用途でCData Sync をご利用いただけます。30日の無償トライアルで、シンプルでパワフルなデータパイプラインを体感してください。

    日本のユーザー向けにCData Sync は、UI の日本語化、ドキュメントの日本語化、日本語でのテクニカルサポートを提供しています。

    CData Sync の 導入事例を併せてご覧ください。

    関連コンテンツ

    トライアル・お問い合わせ

    30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。