Tableau Catalog の有効化

Tableau Catalog(Link opens in a new window) は、ワークブック、データ ソース、シート、フローなど、Tableau Online サイトや Tableau Server のすべてのコンテンツを検出してインデックスを作成します。コンテンツ (またはメタデータ)、およびコンテンツのスキーマと系列についての情報を収集するために、インデックス作成が使用されます。その後メタデータより、Catalog は Tableau Online サイトまたは Tableau Server 上のコンテンツが使用するすべてのデータベース、ファイル、表を特定します。

Catalog は Data Management アドオン で入手可能です。詳細については、Data Management アドオンについてを参照してください。

Catalog に加え、メタデータ メソッド(Link opens in a new window)を使用して Tableau メタデータ API(Link opens in a new window) や Tableau Server REST API からコンテンツについてのメタデータにアクセスすることもできます。

Catalog を有効にする前

Tableau Server 管理者は、Tableau Server 環境で Catalog の最適なパフォーマンスを確保するために、Catalog を有効にする前および有効化の実行中に考慮する必要がある事項がいくつかあります。

必要なバージョン

Catalog を有効にする前に、次のいずれかのバージョンの Tableau Server を実行していることを確認します。

  • Tableau Server 2019.3.4 以降
  • Tableau Server 2019.4.2 以降
  • Tableau Server 2020.1.0 以降

上記バージョンが必要な理由の詳細については、「Tableau ナレッジ ベース」を参照してください。

カタログを有効にする場合の期待値

Catalog を有効にすると、Tableau Server に既に存在するコンテンツが直ちにインデックス化されます。

初期取り込み

インデックス作成プロセスは、2 つの主要コンポーネントで構成され、そのうちの 1 つは初期取り込みと呼ばれます。初期取り込みは、次の 2 つの追加コンポーネントに分割できます。

  • プライマリバックフィル
  • セカンダリ バックフィル

プライマリ バックフィルとセカンダリ バックフィルの状態は、進行状況を監視し、Tableau Server 環境でカタログが正常に有効になっていて実行されていることを検証する際に後で注意することが重要です。

初期取り込み速度

最初に Catalog でコンテンツのインデックス作成にかかる時間は、次の 2 つの要素によって異なります。

  • Tableau Server 上のコンテンツの量: コンテンツの量は、ワークブック、パブリッシュされたデータ ソース、および Tableau Server にパブリッシュされたフローの合計数によって測定されます。詳細については、メタデータを格納するためのディスク領域を参照してください。

  • インタラクティブでないマイクロサービス コンテナーの数:Catalog は、インタラクティブでないマイクロサービス コンテナーを使用して、Tableau Server 上のすべてのコンテンツでインデックスを作成します。詳細については、インタラクティブでないマイクロサービス コンテナーのメモリを参照してください。

初期取り込みに影響を与える要因を理解することは、環境で Catalog を有効にして実行するのにかかる時間を測定するのに役立ちます。

メタデータを格納するためのディスク領域

初期取り込み中にメタデータが生成され、Tableau Server リポジトリ (「関係」PostgreSQL データベース) に格納されます。メタデータを格納するために必要となるディスク領域の量は、リポジトリ (「ワークグループ」PostgreSQL データベース) で現在使用されているディスク領域の約半分です。

たとえば、Catalog を有効にする前にリポジトリで 50 GB のディスク領域を使用すると、Catalog の有効後は最大 75 GB のディスク領域を使用できます。

インタラクティブでないマイクロサービス コンテナーのメモリ

初期取り込みは、インタラクティブでないマイクロサービス コンテナー内で実行されます。インタラクティブでないマイクロサービス コンテナーは、2 つの Tableau Server マイクロサービス コンテナー(Link opens in a new window) プロセスのうちのいずれかです。既定では、インタラクティブでないマイクロサービス コンテナーの 1 つのインスタンスが、バックグラウンダー プロセスがインストールされているすべてのノードに追加されます。

既定では、インタラクティブでないマイクロサービス コンテナーの単一インスタンスで行われる初期取り込み時に、バックグラウンダー ノードで最大 4 GB のメモリを使用できます。Tableau Server 上のコンテンツの量が 10,000 を超える場合、インタラクティブでないマイクロサービス コンテナーでは、バックグラウンダー ノードで最大 16 GB のメモリが必要になる場合があります。したがって、Catalog を有効にする場合は、初期取り込みプロセス中に、すべてのバックグラウンダー ノードが、インタラクティブでないマイクロサービス コンテナーにそれぞれ確実に対応できるようにします。容量を増やす必要がある場合は、インタラクティブでないコンテナーに対して JVM ヒープ サイズを更新し、バックグラウンダー ノードで最大 16 GB のメモリを割り当てる必要があります。詳細については、noninteractivecontainer.vmoptsを参照してください。

インタラクティブでないマイクロサービス コンテナーを追加して初期取り込み時間を短縮する場合は、まず必要なコンテナー数の合計を決定し (以下の「ステップ 2: 初期取り込みにかかる時間を見積もる」を使用)、Tableau Server 環境がすべてのインタラクティブでないマイクロサービス コンテナーに対応するのに十分な容量で構成されているかどうかを確認します。Tableau Server 環境の構成方法によっては、初期取り込み時間を短縮するために必要なマイクロサービス以外のコンテナーをすべて追加できない場合があります。

カタログを有効にするためのベストプラクティス

初期取り込みの速度と要件は各 Tableau Server 環境に固有であるため、Catalog を有効にする場合は、次の 1 つまたは複数を実行することをお勧めします。

  • Tableau Server リポジトリに、初期取り込みによって生成されたり格納されたりする追加のメタデータに対応するために使用できる十分なディスク容量があることを確認します。一般的に、リポジトリには現在リポジトリが使用しているディスク領域からさらに 50% 追加で必要になります。Tableau Server のディスク容量に関する詳細については、サーバーのディスク容量を参照してください。

  • Tableau Server のコンテンツ量に応じて、初期取り込み中に、各バックグラウンダー ノードにインタラクティブでないマイクロサービス コンテナーの各インスタンスに対して、4 ~ 16 GB 以上の使用可能なメモリがあることを確認します。

  • 週末にプロセスを実行して、ユーザーがカタログ機能を使用する前に最初の取り込みが完了できるようにします。

  • 最初に本番コンテンツを使用してテスト環境でプロセスを実行します。これは、取り込む必要のあるコンテンツの種類が摂取速度に重要な役割を果たす可能性があるためです。

カタログを有効にする手順の概要

次のステップは、Tableau Server でカタログを有効にして実行するプロセスをまとめたものです。ステップは順番に実行する必要があります。

  1. Tableau Server 上のコンテンツ量を決定する
  2. 最初の取り込み時間を見積もる
  3. 最初の取り込み時間を短縮する
  4. データ管理アドオンをアクティブ化する
  5. カタログ機能をオフにする
  6. tsm maintenance metadata-services コマンドを実行する
  7. 初期取り込みの進行状況を監視し、そのステータスを検証する
  8. SMTP の構成
  9. カタログ機能を有効にする

注: これらのステップは、Tableau Server が でライセンスを取得していない場合に、Tableau メタデータ API を有効にする場合にも使用できます Data Management アドオン

カタログの有効化

ステップ 1: Tableau Server 上のコンテンツ量を決定する

Tableau Server 上のコンテンツ量を決定するには、次の手順を実行します。

  1. 管理者の認証資格情報を使用して Tableau Server にサインインします。

  2. [探索] ページに移動します。

  3. [Top-Level Project (トップレベル プロジェクト)] ドロップダウン メニューをクリックし、[すべてのワークブック][すべてのデータ ソース]、および [すべてのフロー] の横にまとめて数値を追加します。これが、Tableau Server 上にあるコンテンツの合計量となります。

ステップ 2: 初期取り込みにかかる時間を見積もる

Catalog が Tableau Server で初めてコンテンツを取り込むのにかかる時間を見積もるには、お使いの Tableau Server の設定をベースラインの Tableau Server 設定と比較します。

次の設定が含まれる Tableau Server では、最初の取り込みが完了するまでに約 6 時間かかる場合があります。

コンポーネント ベースライン値
コンテンツ 17,000 個のワークブック、パブリッシュされたデータ ソース、およびフロー
インタラクティブでないマイクロサービス コンテナー 10
取り込み 最大 6 時間

お使いの Tableau Server 環境に含まれているコンテンツがだいたい半量程度の場合は、最初の取り込みが完了するまでにかかる時間も半分程度となる見込みです。

たとえば、8,500 (ワークブック、パブリッシュされたデータ ソース、フロー) + 10 個の非対話型マイクロサービス コンテナー = ~3 時間 (初期取り込み)

お使いの Tableau Server 環境に含まれているコンテンツがだいたい 2 倍程度の場合は、最初の取り込みが完了するまでにかかる時間も 2 倍程度となる見込みです。

たとえば、34,000 (ワークブック、パブリッシュされたデータ ソース、およびフロー) + 10 インタラクティブでないマイクロサービス コンテナー = 最大 12 時間 (初期取り込み)

ステップ 3: 初期取り込みの時間を短縮する

一般に、Catalog での初期取り込みにかかる時間は、インタラクティブでないマイクロサービス コンテナーの数に相関します。最初の取り込み時間を短縮するために、インタラクティブでないマイクロサービス コンテナーの数を増やすことができます。

インタラクティブでないマイクロサービス コンテナーの数を増やす

既定では、バックグラウンドを持つすべてのノードに、インタラクティブでないマイクロサービス コンテナーが 1 つ追加されます。Tableau では、最初の取り込みの時間を短縮するために、コマンドを使用してインタラクティブでないマイクロサービス コンテナーの数を増やすことをお勧めします tsm topology set-process

  1. クラスタの最初のノード (TSM がインストールされているノード) で管理者としてコマンド プロンプトを開きます。

  2. tsm topology set-process –-count <process_count> --<node_ID> --process <process_name> コマンドを実行します。

    たとえば、最初のノードのインタラクティブでないマイクロサービス コンテナーを 4 つのコンテナーに増やすには、次のコマンドを実行します。

    tsm topology set-process –-count 4 –-n node1 --process noninteractive

    コマンドとそのグローバル オプションの実行の詳細については、 tsm トポロジーを参照してください。

重要:インタラクティブでないマイクロサービス コンテナーの数を増やす前に、次の点を確認してください。 

  • インタラクティブでないマイクロサービス コンテナーを増やすことの推奨は、非対話型のマイクロサービス コンテナーの合計数であって、ノードごとの非対話型のマイクロサービス コンテナーの合計数ではありません。たとえば、4 つのノードがあるが、非インタラクティブコンテナーの数を 8 に増やすとします。 --counttsm コマンドで使用する値は 2 です。

  • 追加されたインタラクティブでないマイクロサービス コンテナーごとに、ノードで 4 GB の追加メモリが使用され、負荷が Tableau Server リポジトリ (PostreSQL データベース) に追加されます。

    • 一度に 2 つずつのインタラクティブでないマイクロサービス コンテナーを徐々に増やしながら、Tableau Server の環境を細かく監視して Tableau Server リポジトリ (PostgreSQL データベース) の CPU 使用率に関する問題を回避することをくお勧めします。

    • 追加されたインタラクティブでないマイクロサービスが多すぎると、PostgreSQL データベースの CPU 使用率が急増してフェールオーバーする可能性がありますのでご注意ください。監視する必要がある現象には、vizportal ログの SQLException エラーなどがあります。詳細については、「リポジトリ フェールオーバー」(Link opens in a new window)トピックを参照してください。

ステップ 4: Data Management アドオンをアクティブ化する

(Data Management アドオンが必要)

まだ完了していない場合は、 Data Management アドオンをアクティブにできます。 詳細については、Data Management アドオンのライセンスを参照してください。

ステップ 5 (オプション): 各サイトの Catalog の機能をオフにする

(Data Management アドオンが必要)

Data Management アドオン のアクティブ化の一部として、Catalog の機能は既定で有効になっています。インデックス作成プロセスと完了までにかかる推定時間のため、カタログ機能を一時的にオフにして、カタログの機能が完全な状態で提供でき、正確な結果が得られるようになるまで Tableau Server ユーザーがこれらの機能にアクセスできないようにすることを検討してもよいでしょう。

  1. 管理者の認証資格情報を使用して Tableau Server にサインインします。

  2. 左側のナビゲーション ペインで、[設定] をクリックします。

  3. [全般] タブで、[Tableau Catalog] の下にある [Tableau カタログをオンにする] チェック ボックスをオフにします。

  4. Tableau Server の各サイトについて、手順 2 ~ 3 を繰り返します。

ステップ6:tsm maintenance metadata-services コマンドを実行する

tsm maintenance metadata-services コマンドを実行して、Tableau メタデータ API を有効にします。コマンドの実行は、初期取り込みを開始します。Tableau Server がデータ管理アドオンでライセンスされている場合、このコマンドを実行するとカタログ機能もオンになります (以前にオフにされていない場合)。

  1. クラスタの最初のノード (TSM がインストールされているノード) で管理者としてコマンド プロンプトを開きます。

  2. tsm maintenance metadata-services enable コマンドを実行します。

    tsm コマンドの実行の詳細については、「tsm maintenance」(Link opens in a new window)を参照してください。

注: このコマンドを実行するときは、次の点に留意してください。

  • このコマンドは、Tableau Server で使用されているいくつかのサービスが停止してから起動します。これによって推奨事項などの一部の機能を一時的に使用できなくなります。

  • この時点で、メタデータの新しいインデックスが作成されます。このコマンドをそれ以降の時間で実行すると、以前のインデックスが作成され、置き換えられます。

ステップ 7: 初期取り込みの進行状況を監視し、その状態を検証する

上記の tsm コマンドを実行すると、初期取り込みプロセスが開始されます。初期取り込みプロセスが円滑に進むよう、以下の一連の手順を使用して Tableau Server 経由でプロセスの進行状況を監視し、そのカタログ(およびメタデータ API)が有効で実行していることを検証できます。

注:初期取り込みの監視とその状態の検証は、「リーダー」ノードのインタラクティブでないマイクロサービス コンテナーを使用して行うことができます。詳細については、ステップ C の手順を確認してください。

A.インタラクティブでないマイクロサービス コンテナーのすべてのインスタンスのノードとポート番号を取得します。

  1. クラスタの最初のノード (TSM がインストールされているノード) で管理者としてコマンド プロンプトを開きます。

  2. tsm topology list-ports コマンドを実行して、インタラクティブでないマイクロサービス コンテナーのポート番号を取得します。

    コマンドプロンプトは閉じないでください。

  3. 結果で、 非インタラクティブ:プライマリのすべてのインスタンスを検索し、ノードとそのポート番号をメモします。 これらのノード値はステップ B で、これらのポート番号はステップ D および E で使用します。

B. インタラクティブでないマイクロサービス コンテナーがある各ノードのコンピューター名 (アドレス) を取得します。

  1. コマンドプロンプトを使用して、次のコマンドを実行して、すべてのノードのコンピュータ名 (アドレス) をすべて一覧表示します: tsm topology list-nodes -v

  2. ステップ A の最後にメモしたノードに対応するすべての Address 値をメモします。これらのアドレス値は、手順 D で使用します。

C. ブラウザから認証 Cookie を取得する

  1. Google Chromeのようなブラウザを開きます。

  2. 管理者の認証資格情報を使用して Tableau Server にサインインします。

  3. ブラウザ'開発者ツール オプション (またはそれに類似するもの) を使用して [Cookie] セクションに移動し、次の Cookie の値を書き留めておきます:

    • XSRF-TOKEN

    • workgroup_session_id

    ブラウザ ウィンドウは閉じないでください。

D. 「リーダー」ノードのプライマリバックフィルの取り込みステータスを取得する

  1. ステップ C で同じブラウザー ウィンドウを使用して 、次の URI をコピーして、ブラウザーのアドレス バーに貼り付けます。

    http://<your-server>:<port>/relationship-service-war/control/backfill/status

  2. URI では、次の操作を実行します。 

    • <your-server> を、ステップ B でメモしたアドレスの 1 つに置き換えます。

    • <port> を、ステップ A でメモしたアドレスの対応するポート番号に置き換えます。

    たとえば、http://10.100.0.0:8345/relationship-service-war/control/backfill/status

  3. 次のいずれか1つを実行します。 

    • ステップ 2 のエンドポイントが「このホストはリーダーではありません。要求操作は Leader インスタンスでのみ実行できます」 を返す場合、別のアドレスと、ステップ A の最後でメモした対応するポート番号を使用して、ステップ 2 を繰り返します。

      または

    • ステップ 2 のエンドポイントが true または false 値を返す場合は、「リーダー」ノードを識別し、ステップ D に進むことができます。

    ブラウザ ウィンドウは閉じないでください。

注: または、上記の URI と要求ヘッダーの次の必須キーを使用して、HTTP GET リクエストを作成し、Postman を使用してプライマリバックフィルの取り込みステータを取得することもできます。

キー
Cookie XSRF-TOKEN=<cookie-value>; workgroup_session_id=<cookie-value>
Content-Type application/json

E. セカンダリ バックフィルの取り込みステータスを取得する

  1. ステップ D で同じブラウザー ウィンドウを使用して 、次の URI をコピーして、ブラウザーのアドレス バーに貼り付けます。

    http://<your-server>:<port>/relationship-service-war/control/secondaryIndexing/shortcutBackfillComplete

  2. 以下を URI に行います。

    • <your-server>を、ステップ D の最後の "リーダー" ノードのアドレスに置き換えます。
    • <port> を、ステップ D の最後の "リーダー" ノードのポート番号に置き換えます。

      たとえば、http://10.100.0.0:8345/relationship-service-war/control/secondaryIndexing/shortcutBackfillComplete

注: または、上記の URI と要求ヘッダーの次の必須キーを使用して、HTTP GET リクエストを作成し、Postman を使用してセカンダリ バックフィルの取り込みステータを取得することもできます。

キー
Cookie XSRF-TOKEN=<cookie-value>; workgroup_session_id=<cookie-value>
Content-Type application/json

F. 取り込み状況の結果を確認する

上記のステップ C (プライマリバックフィル) のエンドポイントは、コンテンツおよびアセットのタイプごとに取り込みステータスを詳細に説明した JSON ブロブが返されます。結果を確認し、次の点に注意してください。

  • backfillComplete ステータスが true と表示されている場合は、プライマリバックフィルが完了したことを示します
  • backfillComplete ステータスが false と表示されている場合は、プライマリバックフィルがまだ進行中であることを示します

例:

[
{"type":"PublishedDatasource","currentId":{"contentId":null,"pageToken":null},"processedCount":0,"durationSeconds":0,"backfillComplete":true},
{"type":"Database","currentId":{"contentId":null,"pageToken":null},"processedCount":0,"durationSeconds":0,"backfillComplete":true},
{"type":"DatabaseTable","currentId":{"contentId":null,"pageToken":null},"processedCount":0,"durationSeconds":0,"backfillComplete":true},
{"type":"Workbook","currentId":{"contentId":null,"pageToken":null},"processedCount":0,"durationSeconds":0,"backfillComplete":true},
{"type":"Flow","currentId":{"contentId":null,"pageToken":null},"processedCount":0,"durationSeconds":0,"backfillComplete":true}
]

上記のステップ D (セカンダリ バックフィル) のエンドポイントは、JSON BLOB の状態 true または falseを返します。

  • trueステータスはセカンダリバックフィルが完了したことを示します

  • falseステータスはセカンダリ バックフィルがまだ進行中であることを示します

G. 初期取り込みが完了したことを確認する

ステップ F で両方のエンドポイントの値が trueである場合、初期取り込みは完了しています。

ステップ 8: SMTP セットアップを構成する

Tableau Server でまだ設定していない場合は、SMTP セットアップを構成してください。SMTP は、データの変更に関する連絡が必要な所有者へのメール送信をサポートしています。SMTP の構成の詳細については、「SMTP セットアップの構成」(Link opens in a new window)を参照してください。

ステップ 9 (オプション): Catalog 機能を有効にする

(Data Management アドオンが必要)

上記のいずれかの手順で Catalog を有効にする前に Catalog 機能をオフにした場合は、Catalog をオンにして、ユーザーがその機能にアクセスできるようにする必要があります。

  1. 管理者の認証資格情報を使用して Tableau Server にサインインします。

  2. 左側のナビゲーション ペインで、[設定] をクリックします。

  3. [全般] タブで、[Tableau Catalog] の下にある [Tableau カタログをオンにする] チェック ボックスをオフにします。

カタログのトラブルシューティング

カタログ (または Tableau メタデータ API) の使用時に、ユーザーは次のいずれかの問題に直面する可能性があります。

「Timeout limit and node limit exceeded (タイムアウト制限およびノード制限を超過しました)」メッセージ

大量の結果を返す必要がある Catalog のタスクまたはメタデータ API のクエリが Tableau Sever のすべてのシステム リソースを消費してしまわないようにするため、Catalog ではタイムアウトとノードの両方に制限を設けています。

  • タイムアウト制限

    Catalog 内のタスクまたはメタデータ API のクエリがタイムアウト制限に達すると、管理者およびユーザーに次のメッセージが表示されます。

    「Showing partial results, Request time limit exceeded.Try again later. (結果の一部を表示しています。要求時間の制限を超過しました。後でもう一度やり直してください。)」または TIME_LIMIT_EXCEEDED

    この問題を解決するには、Tableau Server 管理者として、tsm configuration set –k metadata.query.limits.time コマンドを使用してタイムアウト制限を増やすことができます。詳細については、「tsm configuration」(Link opens in a new window)トピックおよび「tsm configuration set のオプション」(Link opens in a new window)トピックを参照してください。

    重要: タイムアウト制限を増やすと、より多くの CPU をより長く使用でき、Tableau Server 上の他のプロセスのパフォーマンスに影響を与える可能性があります。

  • ノード制限

    Catalog 内のタスクまたはメタデータ API のクエリがノード制限に達すると、管理者およびユーザーに次のメッセージが表示されます。

    NODE_LIMIT_EXCEEDED

    この問題を解決するには、Tableau Server 管理者として、tsm configuration set –k metadata.query.limits.count コマンドを使用してノード制限を増やすことができます。詳細については、「tsm configuration」(Link opens in a new window)トピックおよび「tsm configuration set のオプション」(Link opens in a new window)トピックを参照してください。

    重要: タイムアウト制限を増やすと、システムのメモリに影響を与える可能性があります。

Catalog の無効化

Tableau Server 管理者が、Catalog を無効にする方法は 2 つあります。

各サイトの Catalog の機能をオフにする

(Data Management アドオンが必要)

カタログ機能はいつでもオフにできます。Catalog がオフになっている場合、Tableau Server (または Tableau メタデータ API) 自体から Catalog の機能にアクセスすることができません。この機能には、データ品質に関する警告の追加や、データベースや表の資産に対するパーミッションの明示的な管理などが含まれます。ただし、Catalog はパブリッシュ済みコンテンツのインデックス化を継続し、メタデータには Tableau メタデータ API から、また Tableau Server REST API のメタデータ メソッドからアクセスすることができます。

  1. サイト管理者の資格情報を使用して 管理者の資格情報を使用して Tableau サーバーにサインインします。

  2. 左側のナビゲーション ペインで、[設定] をクリックします。

  3. [全般] タブで、[Tableau Catalog] の下にある [Tableau カタログをオンにする] チェック ボックスをオフにします。

Tableau Server でのメタデータのインデックス化の中止

Tableau Server でパブリッシュ済みコンテンツのインデックス化を中止するには、Tableau メタデータ API を無効にします。メタデータ API を無効にするには、tsm maintenance metadata-services disable コマンドを実行します。詳細については、「tsm maintenance」(Link opens in a new window)を参照してください。

ありがとうございます! フィードバックの送信中にエラが発生しました。もう一度やり直すか、メッセージをお送りください