概要
Spotfire 11.4 LTS より並列ロード機能が新規追加されており、分析を開く際にデータが並列でロード・計算されることにより処理時間が短縮できるようになりました。
また、並列ロード機能はデフォルト設定では有効になっていますが、無効に設定することでバージョン 11.4 LTS より前の動き(データが複数存在する場合は1つずつ順番にロード)に戻すことも可能です。本資料では並列ロード機能を有効・無効に設定する方法について情報を整理いたします。
動作確認環境
本記事は以下の環境で動作確認したうえで作成しています。
- Spotfire Analyst 14.0 LTS
- Spotfire Web Player 14.0 LTS
- Spotfire Automation Services 14.0 LTS
本記事の内容はSpotfire 11.4 LTS 以降に適用できます。
並列ロード有効・無効の設定
並列ロードの有効・無効は以下のいくつかの場所にて設定できますが、最初に「無効」となっている設定が優先されます。いずれの設定でも無効になっていない場合は並列ロードが「有効」になります。
判定順番 | 設定箇所 | 設定内容 | 判定結果 |
---|---|---|---|
1 | 分析 |
チェックが入っている (並列ロードが無効) |
並列ロードが無効 |
チェックが入っていない (並列ロードが有効) ※デフォルト |
次へ | ||
2
|
プリファレンス(ForceSerialDocumentDataLoading) |
True (並列ロードが無効) |
並列ロードが無効 |
空白(False) (並列ロードが有効) ※デフォルト |
次へ | ||
3 |
ツール ⇒ オプション ※ユーザーアカウントの場合のみ設定可能、サービスアカウントの場合は設定できない。 |
チェックが入っていない (並列ロードが無効) |
並列ロードが無効 |
チェックが入っている (並列ロードが有効) ※デフォルト |
並列ロードが有効 | ||
4 |
プリファレンス(LoadDocumentDataInParallel)
|
False (並列ロードが無効) |
並列ロードが無効 |
空白(True) (並列ロードが有効) ※デフォルト |
並列ロードが有効 |
分析
分析ごとの設定は「文書のプロパティ」画面にて「互換性設定」ボタンを押して下記の設定項目から確認・変更できます。
- 「この文書を開くときにシリアル データ ロードを使用する」
- チェックが入っていない(デフォルト):並列ロードが有効
- チェックが入っている:並列ロードが無効
プリファレンス(ForceSerialDocumentDataLoading)
Spotfire 管理者権限でAnalystへログインして、メニューからツール ⇒ 管理マネージャーを開いて「設定」タブにて、グループ(通常は「Everyone」)に対して下記の設定項目を確認・変更できます。
- Application ⇒ DataImportPreferences:ForceSerialDocumentDataLoading
- 空白(False、デフォルト):並列ロードが有効
- True:並列ロードが無効
この設定はAnalyst、Web Player、Automation Servicesのいずれにも適用されます。
ツール ⇒ オプション
ユーザーアカウントの場合、Analystのメニューからツール ⇒ オプションを開いて「文書」タブにて下記の設定項目を確認・変更できます。
- 「文書を開くときにデータを並列にロードできるようにする」
- チェックが入っている(デフォルト):並列ロードが有効
- チェックが入っていない:並列ロードが無効
このオプションのデフォルト値は後述のプリファレンス「LoadDocumentDataInParallel」の設定値に従いますが、ユーザーがこのオプションを変更することも可能です。変更された値がプリファレンス「LoadDocumentDataInParallel」よりも優先され、該当ユーザーに対してAnalystやWeb Playerの両方ともに適用されます。
サービスアカウント(Scheduled UpdatesまたはAutomation Services)の場合はこのオプションを変更することができないため、後述のプリファレンス(LoadDocumentDataInParallel)の設定値に従います。
プリファレンス(LoadDocumentDataInParallel)
Spotfire 管理者権限でAnalystへログインして、メニューからツール ⇒ 管理マネージャーを開いて「設定」タブにて、グループ(通常は「Everyone」)に対して下記の設定項目を確認・変更できます。
- Application ⇒ DataImportPreferences:LoadDocumentDataInParallel
- 空白(True、デフォルト):並列ロードが有効
- False:並列ロードが無効
この設定はAnalyst、Web Player、Automation Servicesのいずれにも適用されますが、AnalystやWeb Playerの場合は前述の「ツール ⇒ オプション」にて指定された設定が優先されます。
並列ロード有効・無効の確認
並列ロードの有効・無効を確認する方法について紹介します。
環境全体のデフォルト設定
「Everyone」グループに対して設定されているプリファレンス(ForceSerialDocumentDataLoading)やプリファレンス(LoadDocumentDataInParallel)が環境全体(Analyst、Web Player、Automation Servicesを含む)のデフォルト設定となります。確認方法について前述の設定部分を参照ください。
確認結果は下表の通りです。
ForceSerialDocumentDataLoading | LoadDocumentDataInParallel | 環境全体のデフォルト設定 |
---|---|---|
空白(False) | 空白(True) |
並列ロードが有効 ※ユーザー独自の設定は実施可能 |
空白(False) | False |
並列ロードが無効 ※ユーザー独自の設定は実施可能 |
True | ー |
並列ロードが無効 ※環境全体で無効となる、ユーザー独自の設定は実施不可 |
特に、プリファレンス(ForceSerialDocumentDataLoading)が True に設定されている場合は環境全体で並列ロードが無効になります。特定のユーザーやグループ、または特定の分析に対して並列ロードを有効にすることはできません。
以下はプリファレンス(ForceSerialDocumentDataLoading)が空白(False)の場合の確認方法について紹介します。
個別ユーザーの設定
個別ユーザー(Analyst、Business Author、Consumerのすべてを含む)の場合、並列ロードの有効・無効設定はAnalystのメニュー:ツール⇒オプションから確認できます。
ツール⇒オプション画面の「文書」タブにて、オプション「文書を開くときにデータを並列にロードできるようにする」が利用不可な状態の場合、プリファレンス(ForceSerialDocumentDataLoading)がTrueに指定され、環境全体で並列ロードが無効になっていることを示します。
オプション「文書を開くときにデータを並列にロードできるようにする」が利用可能な状態の場合、該当オプションのチェック状態が並列ロードの有効・無効を示しています。
- チェックが入っている:並列ロードが有効
- チェックが入っていない:並列ロードが無効
注意点として、ユーザーが該当オプションを変更したことがない場合は所属グループへのプリファレンス(LoadDocumentDataInParallel)設定に従います。ユーザーが該当オプションを変更したことがある場合はその変更内容がユーザー独自の設定としてAnalystやWeb Playerの両方ともに適用されます。上記画面上で「リセット」ボタンを押してリセットすると、ユーザー独自の設定が破棄され、所属グループのプリファレンス(LoadDocumentDataInParallel)設定に従うようになります。
また、ユーザーがツール⇒オプションの設定を変更したことがない場合には以下の規則で従って所属グループへのプリファレンスが適用されます。
- ユーザーが所属しているグループ(直接所属しているグループ、および、その上位グループ)に対する「明示的な設定値」が適用されます。
- ※「明示的な設定」とは、そのグループに対してプリファレンスが直接設定されていることを言います。上位グループから継承されている設定値は「明示的な設定」ではありません。
- ユーザーが所属しているグループにおいて「明示的な設定値」が競合している場合、最も優先度の高いグループの設定値が適用されます。
- ユーザーが所属しているグループに対して「明示的な設定」がされていない場合、Everyoneグループへの明示的な設定値が適用されます。
- Everyoneグループに対しても「明示的な設定」がされていない場合、既定値が適用されます。
ユーザーが所属する複数グループにおいて「明示的な設定値」が競合している場合、以下の規則に従い、最も優先度の高いグループの設定値がユーザーに適用されます。
- 階層が異なる場合、ユーザーに対する階層数が小さい方のグループ(ユーザーに近い方のグループ)の設定値が優先されます。
- 同一階層グループ間で設定値が競合している場合、アルファベット順に並べた最初のグループ(「アルファベット順」)の設定値が優先されます。
- あるグループが複数の上位グループのサブグループとなっており、そのグループに対して「プライマリグループ」が指定されている場合、プライマリグループの設定値が優先されます。
- 複数の上位グループに対する「明示的な設定値」が競合している場合のみ、プライマリグループによる優先度が適用されます。
- それ以外の場合、階層による判定、および、アルファベット順による判定が適用されます。
サービスアカウントの設定
サービスアカウントの場合は上記の「個別ユーザーの設定」のようにツール⇒オプション画面より並列ロードの有効・無効を確認することはできません。「個別ユーザーの設定」部分を参考にサービスアカウントの所属グループに指定されているプリファレンス設定(LoadDocumentDataInParallel)を確認してください。
ログからの確認
Analyst、Web PlayerやAutomation ServicesのDEBUGログより、分析を開く際に並列ロードが有効・無効なのかを確認できます。
DEBUGログの例は下記の通りですが、以下の各パターンで出力されたログは先頭部分を削除して記述します。
並列ロードが有効な場合
Starting load transaction.
Assigning configuration parameters.
Loading data.
OpenDataPromptingMode: True.
DataManager.LoadDataCore called.
Loading data in parallel.
並列ロードが無効な場合(分析で設定)
Starting load transaction.
Assigning configuration parameters.
Loading data.
OpenDataPromptingMode: True.
DataManager.LoadDataCore called.
Parallel data loading has been turned off for this specific analysis.
Loading data sequentially.
並列ロードが無効な場合(ForceSerialDocumentDataLoadingで設定)
Starting load transaction.
Assigning configuration parameters.
Loading data.
OpenDataPromptingMode: True.
DataManager.LoadDataCore called.
Parallel data loading has been turned off due preference ForceSerialDocumentDataLoading being set to true.
Loading data sequentially.
並列ロードが無効な場合(ツール⇒オプションまたはLoadDocumentDataInParallelで設定)
Starting load transaction.
Assigning configuration parameters.
Loading data.
OpenDataPromptingMode: True.
DataManager.LoadDataCore called.
Parallel data loading has been turned off due preference LoadDocumentDataInParallel being set to false.
Loading data sequentially.
設定例
以下の通りにいくつかの設定例を紹介します。
環境全体で並列ロードを無効にする
設定方法:
- プリファレンス(ForceSerialDocumentDataLoading)をTrueにする
これで環境全体(Analyst、Web Player、Automation Servicesのすべてを含む)で並列ロードが無効になります。他の並列ロード設定がすべて無視されます。
サービスアカウントのみ並列ロードを無効にする
設定方法:
- プリファレンス(ForceSerialDocumentDataLoading)を空白(False)のままにする
- Everyoneグループに対してプリファレンス(LoadDocumentDataInParallel)を空白(True)のままにする
- サービスアカウントの所属グループに対してプリファレンス(LoadDocumentDataInParallel)をFalseにする
これで環境内のデフォルトでは並列ロードが有効のままで、サービスアカウントのみ並列ロードが無効になります。
サービスアカウント例:
- Scheduled Updatesユーザー:Scheduled Updates System Account(scheduledupdates@SPOTFIRESYSTEM)
- 所属グループ:Scheduled Updates Users
- Automation Servicesユーザー:Automation Services System Account(automationservices@SPOTFIRESYSTEM)
- 所属グループ:Automation Services Users
特定のグループのみ並列ロードを無効にする
設定方法:
- プリファレンス(ForceSerialDocumentDataLoading)を空白(False)のままにする
- Everyoneグループに対してプリファレンス(LoadDocumentDataInParallel)を空白(True)のままにする
- 対象グループに対してプリファレンス(LoadDocumentDataInParallel)をFalseにする
これで環境内のデフォルトでは並列ロードが有効のままで、対象グループのみ並列ロードが無効になります。
注意点として、該当グループにのみ所属しているユーザーにはそのグループのプリファレンス設定が適用されますが、複数グループに所属しているユーザーの場合は必ずしも該当グループのプリファレンス設定が適用されるわけではありません。特に複数グループのそれぞれにプリファレンス設定が指定されている場合は上記の「個別ユーザーの設定」部分記載の規則でユーザーへ適用されます。
特定のユーザーのみ並列ロードを無効にする
設定方法:
- プリファレンス(ForceSerialDocumentDataLoading)を空白(False)のままにする
- Everyoneグループに対してプリファレンス(LoadDocumentDataInParallel)を空白(True)のままにする
- 対象ユーザーがAnalystで「ツール⇒オプション」より並列ロードを無効にする
これで環境内のデフォルトでは並列ロードが有効のままで、対象ユーザーのみ並列ロードが無効になります。
また、Analystで設定した内容は該当Spotfire ユーザーがほかの端末上でAnalystを利用する場合、またはWeb Playerを利用する場合にも適用されます。
特定の分析のみ並列ロードを無効にする
設定方法:
- プリファレンス(ForceSerialDocumentDataLoading)を空白(False)のままにする
- Everyoneグループに対してプリファレンス(LoadDocumentDataInParallel)を空白(True)のままにする
- 対象分析に対して「文書のプロパティ」画面より並列ロードを無効にする
これで環境内のデフォルトでは並列ロードが有効のままで、対象分析のみ並列ロードが無効になります。
また、分析に対して並列ロードを無効にした場合はほかのいずれの設定よりも優先されます。
参考資料
Spotfire® Parallel Data Loading FAQ
How to turn off parallel data loading in TIBCO Spotfire