次の方法で共有


Tableau を Azure Databricks に接続する

この記事では、Azure Databricks を Tableau Desktop に接続する方法と、他の Tableau エディションに関する情報を示します。 パートナー接続経由で接続することも、手動で接続することもできます。

Tableau で Azure Databricks をデータ ソースとして使用すると、強力な対話型分析を提供し、大規模なデータセットへと拡張することで、データ サイエンティストやデータ エンジニアの貢献をビジネス アナリストにも届けることができます。

Tableau Desktop を使ってレポートと視覚エフェクトを作成する方法の詳細については、「チュートリアル: Tableau Desktop を始める前に」を参照してください。

要件

Partner Connect を使用して Tableau Desktop に接続する

Partner Connect を使用すると、クラスターまたは SQL ウェアハウスを数回のクリックで Tableau Desktop に接続できます。

  1. Azure Databricks のアカウント、ワークスペース、サインイン ユーザーのすべてが、Partner Connect の要件を満たしていることをご確認ください。
  2. サイド バーで、Partner Connect ボタン [Partner Connect] をクリックします。
  3. [Tableau] タイルをクリックします。
  4. [パートナーに接続する] ダイアログの [コンピューティング] で、接続する Azure Databricks コンピューティング リソースの名前を選択します。
  5. [接続ファイルをダウンロードする] を選択します。
  6. ダウンロードした接続ファイルを開くと、Tableau Desktop が起動します。
  7. Tableau Desktop で認証資格情報を入力し、[サインイン] をクリックします。
    • Microsoft Entra ID トークンを使うには、[ユーザー名] に「token」と入力し、[パスワード] に Microsoft Entra ID トークンを入力します。
    • Azure Databricks アクセス トークンを使用するには、[ユーザー名] に「トークン」と入力し、[パスワード] に個人用アクセス トークンを入力します。
    • Microsoft Entra ID 資格情報を使用するには、[接続の編集] をクリックし、[データ] タブでデータベースをダブルクリックし、[認証] リストで [Microsoft Entra ID] を選択します。
      • Tableau Desktop 2021.1 以上の場合:

        1. Azure Government で Microsoft Entra ID (旧称 Azure Active Directory) B2B ゲスト アカウントまたは Azure Databricks を使用していない場合は、OAuth エンドポイントに「https://login.microsoftonline.com/common」と入力できます。

        認証を構成する

        1. Azure Government で Microsoft Entra ID B2B ゲスト アカウントまたは Azure Databricks を使用している場合は、管理者に連絡して専用の Microsoft Entra ID ウェアハウスを取得します。

        Note

        管理者でない場合、管理者の承認が必要というエラーが表示されます。 Tableau に接続するためのアクセス許可をグローバル管理者、クラウド アプリケーション管理者、またはアプリケーション管理者に付与してもらってから、再度サインインしてみてください。

        Microsoft Entra ID アカウントで管理者の同意ワークフローが有効な場合、Tableau へのアクセスを要求するように Tableau Desktop から求められます。 グローバル管理者、クラウド アプリケーション管理者、またはアプリケーション管理者が要求を承認した後、再度サインインしてみてください。

Tableau Desktop への接続に成功したら、ここで停止できます。 この記事の残りの部分では、Tableau Desktop との手動接続、Tableau Server on Linux の設定、Tableau Online の使い方、Tableau でのベスト プラクティスとトラブルシューティングなど、Tableau に関する追加情報について説明します。

Tableau Desktop に手動で接続する

次の手順に従い、Tableau Desktop を使用してクラスターまたは SQL ウェアハウスに接続します。

注意

Tableau Desktop を使用した接続を高速化するには、Partner Connect を使用します。

  1. Tableau Desktop を起動します。

  2. [ファイル] > [新規] の順にクリックします。

  3. [データ] タブで、[データに接続] をクリックします。

  4. コネクタの一覧で [Databricks] をクリックします。

  5. [サーバーホスト名][HTTP パス] を入力します。

  6. [認証] で、認証方法を選択し、認証資格情報を入力し、[サインイン] をクリックします。

    • Microsoft Entra ID トークンを使うには、[個人用アクセス トークン] を選び、[パスワード] に Microsoft Entra ID トークンを入力します。

    • Azure Databricks 個人用アクセス トークンを使用するには、[個人用アクセス トークン] を選択し、[パスワード] に個人用アクセス トークンを入力します。

    • Microsoft Entra ID 資格情報を使用するには、Microsoft Entra ID を選択します。

      Tableau Desktop 2021.1 以上の場合:

      • Azure Government で Microsoft Entra ID (旧称 Azure Active Directory) B2B ゲスト アカウントまたは Azure Databricks を使用していない場合は、OAuth エンドポイントに「https://login.microsoftonline.com/common」と入力できます。

        認証を構成する

        • Azure Government で Microsoft Entra ID B2B ゲスト アカウントまたは Azure Databricks を使用している場合は、管理者に連絡して専用の Microsoft Entra ID ウェアハウスを取得します。

      Note

      管理者でない場合、管理者の承認が必要というエラーが表示されます。 Tableau に接続するためのアクセス許可をグローバル管理者、クラウド アプリケーション管理者、またはアプリケーション管理者に付与してもらってから、再度サインインしてみてください。

      Microsoft Entra ID アカウントで管理者の同意ワークフローが有効な場合、Tableau へのアクセスを要求するように Tableau Desktop から求められます。 グローバル管理者、クラウド アプリケーション管理者、またはアプリケーション管理者が要求を承認した後、再度サインインしてみてください。

    ワークスペースで Unity カタログが有効になっている場合、既定のカタログも追加で設定します。 [詳細設定] タブの [接続のプロパティ] に Catalog=<catalog-name> を追加します。 既定のカタログを変更するには、[初期 SQL] タブに「USE CATALOG <catalog-name>」と入力します。

Tableau Desktop への接続に成功したら、ここで停止できます。 この記事の残りの情報では、Tableau Server on Linux の設定、Tableau Online の使い方、Tableau でのベスト プラクティスとトラブルシューティングなど、Tableau に関する追加情報について説明します。

Tableau Server on Linux

/etc/odbcinst.ini を編集して以下を含めます。

[Simba Spark ODBC Driver 64-bit]
Description=Simba Spark ODBC Driver (64-bit)
Driver=/opt/simba/spark/lib/64/libsparkodbc_sb64.so

注意

Tableau Server on Linux では、64 ビット処理アーキテクチャをお勧めします。

Tableau Online でブックをパブリッシュおよび更新する

この記事では、Tableau Desktop から Tableau Online にブックをパブリッシュし、データ ソースが変更されるたびにブックを更新する方法について説明します。 Tableau Desktop のブックTableau Online アカウントが必要です。

  1. Tableau Desktop からブックのデータを抽出する: Tableau Desktop で、パブリッシュするブックが表示された後、[データ] > <data-source-name> > [データの抽出] をクリックします。
  2. [データの抽出] ダイアログ ボックスで、[抽出] をクリックします。
  3. 抽出したデータを保存するローカル コンピューター上の場所を参照し、[保存] をクリックします。
  4. ブックのデータ ソースを Tableau Online にパブリッシュする: Tableau Desktop で、[サーバー] > [データ ソースのパブリッシュ] > <data-source-name> をクリックします。
  5. [Tableau Server サインイン] ダイアログ ボックスが表示された場合は、[Tableau Online] リンクをクリックし、画面の指示に従って Tableau Online にサインインします。
  6. [データ ソースを Tableau Online にパブリッシュ] ダイアログ ボックスの [更新が無効] の横にある [編集] リンク をクリックします。
  7. 表示されるフライアウト ボックスの [認証] で、[更新が無効][更新アクセスを許可する] に変更します。
  8. このフライアウトの外側の任意の場所をクリックして非表示にします。
  9. [ブックを更新してパブリッシュされたデータ ソースを使用する] を選択します。
  10. [発行] をクリックします。 データ ソースが Tableau Online に表示されます。
  11. Tableau Online の [パブリッシュ完了] ダイアログ ボックスで、[スケジュール] を クリックし、画面の指示に従います。
  12. Tableau Online にブックをパブリッシュする: Tableau Desktop で、パブリッシュするブックを表示し、[サーバー>ブックのパブリッシュ] をクリックします。
  13. [ブックを Tableau Online にパブリッシュする] ダイアログ ボックスで、[パブリッシュ] をクリックします。 ブックが Tableau Online に表示されます。

Tableau Online は、設定したスケジュールに従ってデータ ソースに対する変更をチェックし、変更が検出された場合はパブリッシュされたブックを更新します。

詳細については、Tableau Web サイトで以下を参照してください:

ベスト プラクティスとトラブルシューティング ガイド

Tableau クエリを最適化するための基本的なアクションは次の 2 つです。

  • 1 つのグラフまたはダッシュボードでクエリおよび視覚化されるレコードの数を減らす。
  • 1 つのグラフまたはダッシュボードで Tableau によって送信されるクエリの数を減らす。

どちらを最初に試すかは、ダッシュボードによって異なります。 個々のユーザーの様々なグラフがすべて同一のダッシュボードに表示されている場合は、Tableau から Azure Databricks に送信されるクエリが多すぎる可能性があります。 グラフが 2 つしかないのに読み込みに時間がかかる場合は、Azure Databricks によって返されるレコードが多すぎて効果的に読み込めない可能性があります。

Tableau Desktop と Tableau Server の両方で利用できる Tableau パフォーマンス記録は、特定のワークフローまたはダッシュボードを実行する際に待機時間の原因となっているプロセスを特定することで、パフォーマンスのボトルネックがどこにあるのか理解するのに役立ちます。

パフォーマンス記録を有効にして Tableau の問題をデバッグする

たとえば、クエリの実行が問題の場合は、クエリを実行するデータ エンジン プロセスまたはデータ ソースに対処する必要があります。 ビジュアル レイアウトのパフォーマンスが遅い場合は、それが VizQL である必要があります。

パフォーマンス記録でクエリの実行中に待機時間が示されている場合は、結果を返す Azure Databricks により、またはデータを VizQL の SQL に処理する ODBC/コネクタ オーバーレイによって時間が長くかかりすぎている可能性があります。 これが発生した場合は、返されたデータを分析し、分析パターンを変更して、すべてを 1 つのダッシュボードに詰め込んでクイック フィルターに依存するのではなく、グループ、セグメント、または記事ごとにダッシュボードを作成する必要があります。

並べ替えや視覚的なレイアウトが原因でパフォーマンスが低下している場合は、ダッシュボードが返すマークの数が問題である可能性があります。 Azure Databricks は、100 万件のレコードをすばやく返すことができますが、Tableau ではレイアウトを計算して結果を並べ替えることができない場合があります。 これが問題である場合は、クエリを集計して下位レベルにドリルダウンします。 Tableau は実行中のコンピューターの物理リソースによってのみ制限されているため、より大規模なコンピューターを試すこともできます。

パフォーマンスレコーダーの詳細なチュートリアルについては、「パフォーマンスの記録を作成する」を参照してください。

Tableau Server と Tableau Desktop のパフォーマンス

通常、Tableau Desktop で実行されるワークフローは、Tableau Server では高速になりません。 Tableau Desktop で実行されないダッシュボードは、Tableau Server では実行されません。 これに留意することが重要です。

実際に、Tableau Server ではトラブルシューティングの際に多くのプロセスを考慮する必要があるため、Desktop で作業することはより優れたトラブルシューティング手法です。 また、Tableau Desktop で動作するけれど Tableau Server では動作しない場合、Tableau Desktop にない Tableau Server のプロセスに問題を絞り込むことができます。

構成

既定では、接続 URL のパラメーターは Simba ODBC DSN のパラメーターよりも優先されます。 Tableau から ODBC 構成をカスタマイズするには、次の2つの方法があります:

  • 1 つのデータ ソース用 .tds ファイル:

    1. データ ソースの保存」の手順に従って、データ ソースの .tds ファイルをエクスポートします。
    2. odbc-connect-string-extras='' ファイルでプロパティ行 .tds を検索し、パラメーターを設定します。 たとえば、AutoReconnectUseNativeQuery を有効にするには、行を odbc-connect-string-extras='AutoReconnect=1,UseNativeQuery=1' に変更します。
    3. 再接続して、.tds ファイルを再度読み込みます。

    コンピューティング リソースは、大量の結果を収集するために使用するヒープ メモリを減らすために最適化されています。そのため、フェッチ ブロックあたりで処理できる行は、Simba ODBC の既定値よりも多くなります。 RowsFetchedPerBlock=100000' プロパティの値に odbc-connect-string-extras を追加します。

  • すべてのデータ ソース用 .tdc ファイル:

    1. .tdc ファイルを作成したことがない場合は、TableauTdcExample.tdc をフォルダー Document/My Tableau Repository/Datasources に追加できます。
    2. すべての開発者の Tableau Desktop インストールにファイルを追加して、ダッシュボードが共有されたときに機能するようにします。

グラフの最適化 (ワークシート)

Tableau ワークシートのパフォーマンスを向上させるために役立つ、さまざまな戦術グラフの最適化があります。

頻繁に変更せず、操作用でないフィルターについては、コンテキスト フィルターを使用します。これにより、実行時間が短縮されます。 経験則として、クエリで if/else ステートメントの代わりに case/when ステートメントを使用することもできます。

Tableau では、フィルターをデータ ソースにプッシュ ダウンできます。これにより、クエリ速度を大幅に高速化できます。 データ ソースのプッシュダウン フィルターの詳細については、「パラメーターを使用して複数のデータ ソースをフィルター処理する」と「複数のデータ ソース間でデータをフィルター処理する」を参照してください。

テーブルの計算は、完全なデータセットをスキャンする必要がある場合には避けることをお勧めします。 テーブル計算の詳細については、「テーブル計算を使用した値の変換」を参照してください。

ダッシュボードを最適化する

ここでは、Tableau ダッシュボードのパフォーマンスを向上させるために適用できる、いくつかのヒントとトラブルシューティングの演習について説明します。

Tableau ダッシュボードが Azure Databricks に接続されている場合の一般的な問題の原因は、多数の異なるユーザー、関数、またはセグメントに対処する個々のダッシュボードで、クイック フィルターを使用することです。 グローバル クイック フィルターは、ダッシュボード上のすべてのグラフに関連付けることができます。 優れた機能ですが、すぐに問題が発生する可能性があります。 5 つのグラフを含むダッシュボードに 1 つのグローバル クイック フィルターを適用すると、少なくとも 10 個のクエリが Azure Databricks に送信されます。 これにより、より多くのフィルターが追加され、パフォーマンスに大きな問題が発生する可能性があります。これは、多くの同時実行クエリを同じ瞬間から処理するように Spark が構築されていないためです。 使用している Azure Databricks クラスターまたは SQL ウェアハウスが、大量のクエリを処理するのに十分な大きさでない場合、このことが問題になります。

最初の手順として、Tableau のパフォーマンス記録を使用して、問題の原因のトラブルシューティングを行うことをお勧めします。

並べ替え視覚的なレイアウトが原因でパフォーマンスが低下している場合は、ダッシュボードが返すマークの数が問題である可能性があります。 Azure Databricks は、100 万件のレコードをすばやく返すことができますが、Tableau ではレイアウトを計算して結果を並べ替えることができない場合があります。 これが問題である場合は、クエリを集計して下位レベルにドリルダウンします。 Tableau は実行中のコンピューターの物理リソースによってのみ制限されているため、より大規模なコンピューターを試すこともできます。

Tableau でのドリルダウンの詳細については、「詳細へのドリルダウン」を参照してください。

一般に、詳細なマークが多数あると、分析情報を提供しないため、多くの場合、分析パターンが不適切になることがよくあります。 上位レベルの集計からドリルダウンすることで、処理と視覚化が必要なレコードの数がよりわかりやすくなり、数も減ります。

アクションを使用してダッシュボードを最適化する

実現不可能なダッシュボードと同じ分析と情報を取得するために、グループからセグメント、記事とドリル ダウンするには、Tableau アクションを使用します。 アクションを使用すると、マーク (たとえば、マップ上の状態) をクリックし、クリックした状態に基づいてフィルター処理を行う別のダッシュボードに送信できます。 これにより、フィルターを適用する述語が取得されるまでレコードを生成しないようにアクションを設定できるので、1 つのダッシュボードに多数のフィルターを適用する必要が減り、生成が必要なレコードの数も少なくなります。

詳細については、「アクション」と、「ダッシュボードのパフォーマンスを向上させる 6 つのヒント」を参照してください。

キャッシュ

データのキャッシュは、ワークシートやダッシュボードのパフォーマンスを向上させるための優れた方法です。

Tableau でのキャッシュ

Tableau では、データがライブ接続か抽出のいずれであるかにかかわらず、データに戻る前に、4 つのキャッシュ層があります。

  • タイル: 他のメンバーがまったく同じダッシュボードを読み込んでおり、何も変更を加えない場合、Tableau はグラフに同じタイルを再利用しようとします。 これは Google マップのタイルと似ています。
  • モデル: タイルを使用できない場合に、視覚エフェクトトを生成するために使用される数学的計算があります。 Tableau Server は、同じモデルを使用しようと試みます。
  • 要約: クエリの集計結果も格納されます。 これは、3 番目の "防御" レベルです。 以前のクエリで Sum (Sales)、Count (orders)、Sum (Cost) が返され、将来のクエリでは Sum (Sales) のみが必要となった場合、Tableau はその結果を取得して使用します。
  • ネイティブキャッシュ: クエリが別のクエリとまったく同じ場合、Tableau では同じ結果を使用します。 これは、キャッシュの最後のレベルです。 これが失敗した場合、Tableau はデータに移動します。

Tableau でのキャッシュの頻度

Tableau には、キャッシュの頻度を増減させる管理設定があります。 サーバーが頻繁に更新するように設定されている場合、Tableau は最大 12 時間、データをキャッシュに保持します。 [頻繁に更新] に設定されている場合、Tableau はページを更新するたびにデータに戻ります。

同じダッシュボードがもう一度使用されている場合 (たとえば、"月曜のパイプライン レポート")、ダッシュボードがすべて同じキャッシュを使用するように、更新頻度を低くするようにサーバーを設定する必要があります。

Tableau でのキャッシュの準備

Tableau では、ダッシュボードを表示する前に、ダッシュボードのサブスクリプションを設定して、キャッシュを準備できます。 これは、サブスクリプション メールのイメージを生成するために、ダッシュボードをレンダリングする必要があるためです。 「サブスクリプションを使用した Tableau Server のキャッシュの準備」を参照してください。

Tableau Desktop: エラー The drivers... are not properly installed が表示される

問題点: Tableau Desktop を Databricks に接続しようとすると、Tableau の接続ダイアログにエラーメッセージが表示されます。このページには、ドライバーのリンクとインストール手順が記載されています。

原因: Tableau Desktop のインストールでサポートされているドライバーが実行されていません。

解決策: Databricks ODBC ドライバー バージョン 2.6.15 以降をダウンロードします。

関連項目: Tableau Web サイトのエラー "ドライバー...が正しくインストールされていません。”

その他の技術情報