Tableau 10.3新機能:Amazon Athenaへ接続 #tableau

2017.05.15

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

Tableau各種プロダクト(Tableau Desktop、Tableau Server等)は、現在バージョン10.3のベータプロジェクト実施中で、2017年4月28日時点では、最新のバージョン10.3 ベータ2が提供中です。下記サイトにその機能の一覧が紹介されていますが、ベータ版プロジェクトに参加することで各種機能を実際に試してみる事ができますので、リリース前ではありますが本シリーズで新機能を試し紹介します。

tableau103-new-features

当エントリでご紹介するTableau 10.3新機能は『Amazon Athenaとの接続』です。

新しいAmazon Athenaデータ接続を利用する

Tableau 10.3では、新しいサーバ接続先として、Amazon Athenaが利用できるようになります。 この機能のお陰で、従来必要だったS3に格納しているテキストデータを、一旦データベースへロードする作業が不要になります。

早速この機能を試します。

検証環境

以下のMac上のWindows仮想環境で、Tableauの動作を確認しました。

  • macOS Sierra バージョン10.12.4
  • VMware Fusion バージョン8.5.6
  • Windows 10 Pro 64bit(Build 15063)
  • Tableau Desktop Professional Edition 10.3.0 64bit Beta2

Amazon Athenaの準備

Amazon Athena側のデータを準備します。今回の主題はTableau Desktopなので、Amazon Athena側の作業は最小に留めます。

AWS管理コンソールにログインし、Amazon Athenaの管理画面に移動します。

tableau103-new-features-connect-to-athena-01

tableau103-new-features-connect-to-athena-02

Amazon Athenaは2017/5/15現在、東京リージョンでは提供されていないので、現在の時点で利用できるリージョンを選びます。今回はバージニア(us-east-1)を選択します。

tableau103-new-features-connect-to-athena-03

初回選択時は概要説明が表示されるので、"Get Started"ボタンを押して、サンプルテーブルを作成します。

tableau103-new-features-connect-to-athena-04

チュートリアルが開始されます。一旦"Next"を押します。

tableau103-new-features-connect-to-athena-05

自動的にサンプルテーブルの作成が行われますので、ここでチュートリアルを中断します。

tableau103-new-features-connect-to-athena-06

データベースsampledbに、サンプルのELBのログを格納したテーブルelb_logsが作成されます。 念のため、wlb_logsのカラム構造を確認し、Query Editorから検索し、データが入っていることを確認します。

tableau103-new-features-connect-to-athena-07

こちらのテーブルをTableau Desktopから参照します。

Tableau Desktopからの接続

Tableau Desktop 10.3ベータ2からAmazon Athenaへの接続を確認します。

Tableau Desktop 10.3ベータ2をインストールした後、Amazon Athenaに接続する為の準備として、Amazon AthenaのJDBCドライバを組み込みます。

上記Amazon AthenaのユーザガイドのリンクからJDBCドライバAthenaJDBC41-1.0.1.jarをダウンロードして、C:\Program Files\Tableau\Drivers配下にコピーしておきます。

Tableau Desktop 10.3ベータ2を起動し、画面左側の接続メニューから[サーバーへ]-[詳細...]を選択します。すると、接続可能リストの中にAmazon Athenaが追加されています。

tableau103-new-features-connect-to-athena-08

Amazon Athenaを選択すると、接続のために必要な情報を埋めるフォームが現れるので記入します。

tableau103-new-features-connect-to-athena-09

  • サーバー:athena.<テーブルを作成したリージョン>.amazonaws.com
  • ポート:443
  • S3 Staging Directory:下記アクセスキーの権限で書込み可能なS3バケット/ディレクトリ
  • ユーザー名:<テーブルを作成したAWSアカウントのアクセスキーID>
  • パスワード:<上記アクセスキーIDに対応するシークレットアクセスキー>

設定フォーム内の「S3 Staging Directory」の役割が分かりにくいので補足します。

  • Amazon AthenaのJDBCドライバにおける設定必須パラメータs3_staging_dirに相当する
  • Tableau DesktopからAmazon Athenaのテーブルに対して実行されたクエリのログの保存に使用される
  • テーブルを作成したリージョンと同じリージョンに作成する必要がある
  • 存在しないバケットを指定したり、書き込み権限がないバケットを指定すると、Tableau Desktopの接続は成功するが、テーブルのデータを取得する時点でJavaエラーが発生する(S3設定が原因とはメッセージされない)
  • ディレクトリは事前作成していなければ自動的に作成される

設定ができたらサインインします。サインインに成功すると、以下の画面が表示されます。

tableau103-new-features-connect-to-athena-10

こちらの画面で、目的のテーブルを以下のルールに従って選択します。

  • データベース:AwsDataCatalog
  • スキーマ:Amazon Athenaにおけるデータベース名
  • 表:テーブル名

それぞれの項目は文字列で直接指定も可能ですが、入力フォーム右脇の虫眼鏡アイコンから検索〜選択することが可能です。

tableau103-new-features-connect-to-athena-11 テーブルまで選択できたら、後は他のサーバーに接続している場合と使い方は同じです。ワークシートで利用したいテーブルをドラッグ&ドロップします。

tableau103-new-features-connect-to-athena-12

ワークシートに移動し、好みのビューを作成できます。

tableau103-new-features-connect-to-athena-13

S3のバケットを確認すると、Tableauから問合せを行った実行結果が記録されています。興味ある方はこちらも参照下さい。

tableau103-new-features-connect-to-athena-14

まとめ

以上、Tableau 10.3新機能『Amazon Athena接続』に関するベータ版内容のご紹介でした。冒頭でも書きましたが、この新機能によって、S3のデータをTableau Desktopで参照するための負担軽減が大いに期待できます。正式リリースを楽しみにしておきましょう。それでは、また。

参考リンク