この記事では、Tableau を Amazon EMR (Elastic MapReduce) Hadoop Hive データベースに接続してデータ ソースを設定する方法について説明します。

注: バージョン 2018.2 より、Tableau では Impala ではなく Amazon EMR Hadoop Hive のみをサポートしています。Amazon では Impala ドライバーが提供されなくなりました。

はじめる前に

開始する前に、次の接続情報を収集します。

  • 接続するデータベースをホストするサーバーの名前とポート番号

  • 認証方法:

    • 認証なし

    • Kerberos

    • ユーザー名

    • ユーザー名とパスワード

    • Microsoft Azure HDInsight Service (バージョン 10.2.1 以降)

  • 転送オプションは選択する認証方法によって異なり、次が含まれることがあります。

    • バイナリ

    • SASL

    • HTTP

  • サインイン認証資格情報は選択する認証方法によって異なり、次が含まれることがあります。

    • ユーザー名

    • パスワード

    • 領域

    • ホスト FQDN

    • サービス名

    • HTTP パス

  • SSL サーバーに接続している場合

  • (オプション) Tableau が接続するたびに初期 SQL ステートメントを実行する

必要なドライバー

このコネクタにはデータベースとやり取りするためのドライバーが必要です。お使いのコンピューターにはすでに必要なドライバーがインストールされています。ドライバーがコンピューターにインストールされていない場合、Tableau によって「ドライバー ダウンロード」(新しいウィンドウでリンクが開く)ページへのリンクを含むメッセージが接続ダイアログ ボックスに表示されます。このページで、ドライバーのリンクとインストール手順を確認できます。

注: 利用可能な最新のドライバーを使用していることを確認します。最新のドライバーを取得するには、Tableau ドライバー ダウンロード ページで「Amazon EMR Hadoop Hive」(新しいウィンドウでリンクが開く)を参照してください。

接続してデータ ソースを設定する

  1. Tableau を起動し、[接続] の下で [Amazon EMR Hadoop Hive] を選択します。データ接続の完全なリストについては、[サーバーへ][詳細] を選択します。その後、次を実行します。

    1. データベースをホストするサーバー名および使用するポート番号を入力します。

    2. [認証] ドロップダウン リストで、使用する認証方式を選択します。要求される情報は、選択する認証方法によって異なります。

    3. [転送] ドロップダウン リストが使用できる場合は、使用する転送の種類を選択します。

    4. (任意) ワークブックを開いたときや、抽出を更新、Tableau Server にサインイン、または Tableau Server にパブリッシュするときなど、毎回接続の始めに実行する初期 SQL コマンドを指定するには、[初期 SQL] を選択します。詳細については、初期 SQL の実行を参照してください。

    5. [サインイン] を選択します。

      SSL サーバーに接続する場合は、[SSL が必須] オプションを選択します。

      Tableau が接続できない場合は、認証資格情報が正しいことを確認します。引き続き接続に失敗する場合は、コンピューターにおけるサーバーの検出に問題があります。ネットワーク管理者またはデータベース管理者に連絡してください。

  2. データ ソース ページで次の手順を行います。 

    1. (任意) ページ上部にある既定のデータソース名を選択し、Tableau で使用する一意のデータソース名を入力します。たとえば、データの他のユーザーが、どのデータ ソースに接続するか推測するのに役立つ命名規則を使用します。

    2. [スキーマ] ドロップダウン リストで、検索アイコンを選択するかテキスト ボックスにスキーマ名を入力して検索アイコンを選択し、スキーマを選択します。

    3. [表] テキスト ボックスで、検索アイコンを選択するか表名を入力して検索アイコンを選択し、表を選択します。

    4. 表をキャンバスにドラッグしてから、シート タブを選択して分析を開始します。

    5. カスタム SQL を使用して、データ ソース全体ではなく、特定のクエリに接続します。詳細については、カスタム SQL クエリへの接続を参照してください。

Mac でのサインイン

Mac で Tableau Desktop を使用する場合、サーバー名を入力して接続するときに、mydb または mydb.test などの相対ドメイン名の代わりに mydb.test.ourdomain.lan などの完全修飾ドメイン名を使用します。

また、Mac コンピューターの [検索ドメイン] リストにドメインを追加し、接続する際には、サーバー名のみを提供する必要があります。[検索ドメイン] リストを更新するには、[システム環境設定] > [ネットワーク] > [詳細] に移動し、[DNS] タブを開きます。

Hadoop Hive データの操作

日付/時刻のデータの操作

Tableau はネイティブで TIMESTAMP および DATE タイプをサポートします。ただし、Hive 内に日付/時刻データを文字列として格納する場合は、ISO 形式 (YYYY-MM-DD) で格納する必要があります。また、DATEPARSE または DATE 関数を使用して文字列を日付/時刻形式に変換する計算フィールドを作成できます。抽出を操作している場合は DATEPARSE()、それ以外の場合は DATE() を使用します。詳細については、日付関数を参照してください。

Hive データ型の詳細については、Apache Hive Web サイトの「日付」(新しいウィンドウでリンクが開く)を参照してください。

NULL 値が返される

Tableau 9.0.1 以降および 8.3.5 以降の 8.3.x リリースで、それより前のバージョンで作成され、Hive がサポートしていない形式で日付/時刻データが文字列として格納されたワークブックを開くと、NULL 値が返されます。この問題を解決するには、フィールド型を文字列に変更し、DATEPARSE() または DATE() を使用して日付に変換する計算フィールドを作成します。抽出を操作している場合は DATEPARSE()、それ以外の場合は DATE() 関数を使用します。

高レイテンシの制限

Hive は、バッチ指向システムであり、単純なクエリに非常に迅速な対応で応答することがまだできません。この制限により、新しいデータ セットの探索や計算フィールドの拡張が困難な場合があります。また、新しい SQL-on-Hadoop 技術の一部 (Cloudera の Impala、Hortonworks の Stringer プロジェクトなど) は、この制限に対処するように設計されています。

 

関連項目

ありがとうございます!