Amazon Athena のデータをA5:SQL Mk-2 でCRUD クエリする方法

兵藤朋代
兵藤朋代
コンテンツスペシャリスト
ODBC Driver を使ってAPI コーディングなしでAmazon Athena のデータを自在にCRUD。



SQL 開発ツールといえば「A5:SQL Mk-2」が有名です。Windows ODBC に強い!というイメージです。多くのエンジニアやIT 担当者に利用されています。 本記事では、Amazon Athena のデータをCData ODBC ドライバを使って、A5:SQL MK-2 からクエリする方法を説明します。

CData ODBC ドライバとは?

300種類以上の業務システムやDB をお好みのツールとノーコード連携

CData ODBC ドライバは、以下のような特徴を持つデータ連携ツールです。

Amazon Athena をはじめとする、CRM、MA、会計ツールなど多様なカテゴリの300種類以上のSaaS / オンプレデータソースに対応
A5:SQL Mk-2 をはじめとする多様な帳票・BI ツールにAmazon Athena のデータを連携
ノーコードでの手軽な接続設定
標準SQL での柔軟なデータ読み込み・書き込み
ベーシック認証 / OAuth 2.0 / SAML など多様な認証方式に対応
このチュートリアルではCData ODBC Drivers を使用してkintone とのデータ連携をノーコードで設定します

CData ODBC ドライバでは、1.データソースとしてAmazon Athena の接続を設定、2.A5:SQL Mk-2 側でODBC Driver との接続を設定、という2つのステップだけでデータソースに接続できます。以下に具体的な設定手順を説明します。

CData ODBC ドライバのインストールとAmazon Athena への接続設定

まずは、本記事右側のサイドバーからAmazonAthena ODBC Driver の無償トライアルをダウンロード・インストールしてください。30日間無償で、製品版の全機能が使用できます。

ODBC ドライバーのインストール完了時にODBC DSN 設定画面が立ち上がります。または、Microsoft ODBC データソースアドミニストレーターを使ってDSN を作成および設定できます。

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

それでは、早速Athena に接続していきましょう。

データに接続するには、以下の接続パラメータを指定します。

  • DataSource:接続するAmazon Athena データソース。
  • Database:接続するAmazon Athena データベース。
  • AWSRegion:Amazon Athena データがホストされているリージョン。
  • S3StagingDirectory:クエリの結果を保存するS3 フォルダ。

Database またはDataSource が設定されていない場合、CData 製品はAmazon Athena の利用可能なデータソースからすべてのデータベースのリスト化を試みます。そのため、両方のプロパティを設定することでCData 製品のパフォーマンスが向上します。

Amazon Athena の認証設定

CData 製品は幅広い認証オプションに対応しています。詳しくはヘルプドキュメントの「はじめに」を参照してみてください。

AWS キーを取得

IAM ユーザーの認証情報を取得するには、以下のステップお試しください。

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

AWS ルートアカウントの資格情報を取得するには、以下のステップをお試しください。

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

その他の認証オプションについては、ヘルプドキュメントの「Amazon Athena への認証」を参照してください。

A5:SQL Mk-2 からのAmazon Athena ODBC データソースのクエリ利用方法

ODBC DSN の利用方法

「データベース」→「データベースの追加と削除」を開きます。

「64bit ODBCシステムデータソースを列挙する」にチェックを入れます。システムデータソースを利用するか、ユーザーデータソースを利用するかはどちらでもかまいません。

データベースとして、設定しているODBC DSN がツリービューで表示されます。CData ODBC ドライバで設定されたDSN もここに表示されます。

「CData Amazon Athena Sys」をダブルクリップします。データベースログイン画面が開くので、ODBC DSN 設定時に使ったAmazon Athena のユーザーとパスワードでログインします。

Amazon Athena のオブジェクトがテーブル・ビュー・ストアドプロシージャにモデル化されて表示されます。

テーブルを開いてみます。オブジェクトで利用できるデータがカラムとしてモデル化されています。それぞれのカラムにはデータ型の情報も付いています。

これでA5:SQL Mk2 でAmazon Athena のデータがクエリできます。

Amazon Athena のデータをSELECT する

対象のテーブル・ビューを右クリックして「SQL の作成」をクリックしてクエリ作成画面を開きます。

SELECT にチェックを入れます。とりあえず全カラムを指定して条件なしでクエリしてみます。

SQL クエリがA5M2 から生成されます。実行ボタンで実行するとAmazon Athena の選択したオブジェクトがクエリされ、データがテーブルとして返されます。

次にフィルタリング条件を付けてみます。SQL の作成画面で「絞り込み条件に利用するカラム」をドロップダウンから選択します。以下の絞り込み条件付きのSQL 文がA5M2から生成されるので、WHERE 句に条件を書いて実行します。

    --*DataTitle "Amazon Athena"."(テーブル名)"
--*CaptionFromComment
SELECT
  "Id"                                            -- Id
  , "LastName"                                    -- LastName
  , "FirstName"                                   -- FirstName
  , "Name"                                        -- Name
  , "Title"                                       -- Title
  , "Company"                                     -- Company
  , "Status"                                      -- Status
  , "Industry"                                    -- Industry
FROM
  "AmazonAthena"."Lead"
WHERE
  "Company" = '(フィルタリング条件を入力)'

同じ要領でSQL 作成UI から、SELECT だけでなく、INSERT、UPDATE、DELETE のクエリが作成できます。JOIN や集計クエリもANSI-92 のSQL で作れます。

おわりに

このようにCData ODBC ドライバと併用することで、270を超えるSaaS、NoSQL データをA5:SQL Mk-2 からコーディングなしで扱うことができます。30日の無償評価版が利用できますので、ぜひ自社で使っているクラウドサービスやNoSQL と合わせて活用してみてください。

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

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

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

 ダウンロード

詳細:

Amazon Athena Icon Amazon Athena ODBC Driver お問い合わせ

Amazon Athena ODBC Driver は、ODBC 接続をサポートする任意のアプリケーションからAmazon Athena のライブデータに直接接続できるパワフルなツールです。

標準のODBC Driver インターフェースを使用して、データベースのようにインタラクティブなクエリサービスAmazon Athena データにアクセスします。