メイン コンテンツをスキップする 補完的コンテンツへスキップ

QlikSense Cloud - インポート

Availability-note AWS

ブリッジの要件

このブリッジ:
  • ドライバーを<TDC_HOME>/data/download/MIMB/にダウンロードするためには、https://repo.maven.apache.org/maven2/ やその他のツールサイトへのインターネットアクセスが必要です。

  • そのSDKにアクセスするためにはツールのインストールが必要です。

ブリッジの仕様

ベンダー QlikTech
ツール名 Qlik Sense
ツールバージョン クラウドカレント
ツールのWebサイト http://www.qlik.com/us/products/qlik-sense
サポートされている方法論 [ビジネスインテリジェンス] マルチモデル、WebSocket、REST API経由のBIレポート(リレーショナルソース、式解析、レポートストラクチャー)
データプロファイリング
増分収集
マルチモデル収集
モデル選択のためのリモートリポジトリーの参照

仕様
ツール: WebSocket、REST API経由のQlikTech / Qlik Senseクラウド最新バージョン
http://www.qlik.com/us/products/qlik-senseをご覧ください。
メタデータ: [ビジネスインテリジェンス] マルチモデル、BIレポート(リレーショナルソース、式解析、レポートストラクチャー)
コンポーネント: QlikSenseCloudバージョン11.2.0

免責事項
このインポートブリッジでは、インターネットに接続して次のサードパーティライブラリーをダウンロードする必要があります:
- オープンソースのサードパーティライブラリーをダウンロードする場合はhttps://repo.maven.apache.org/maven2/など
- その他のサードパーティソフトウェア(データベース特定のJDBCドライバーなど)は該当するサイトへ

ダウンロードされたサードパーティライブラリーは、$HOME/data/download/MIMB/に格納されています。
HTTPSが失敗した場合、インポートブリッジはHTTPを試します。
- インターネットへのアクセスにプロキシを使用している場合は、JREでそのプロキシを設定する必要があります(Miscellaneousパラメーターで -j オプションをご覧ください。)。
- インポートブリッジではインターネットにフルにアクセスできない場合は、インターネットアクセスがある別のサーバーから$HOME/data/download/MIMB/ディレクトリーをコピーします。$HOME/bin/MIMB.sh (または.bat) -dというコマンドを使えば、すべてのブリッジで使用される全サードパーティライブラリーを一度にダウンロードできます。

このインポートブリッジを実行すると、ライセンス規約の責任、およびダウンロードしたサードパーティソフトウェアライブラリーによって生じる潜在的なセキュリティの脆弱性を受け入れることになります。

概要
このインポートブリッジは、Qlik Sense Cloudにある複数のQlik Senseアプリケーション(QVFアプリ)からビジネスインテリジェンス(BI)レポートメタデータをインポートします。

要件
このインポートブリッジでは、Qlik Engine API (JSON over WebSocket)とRESTへのアクセスが必要です。

インポートを成功させるためには:
- 使用するユーザーアカウントには読み取りアクセス権が必要です。
- これは、特定のアプリケーションとユーザーにセキュリティルールを作成すれば達成できます。
ユーザーには次の権限が必要です:
- アプリケーションオブジェクト(特にスクリプト)をすべて読み取る権限
- データ接続(または少なくともアプリケーションに指定されたデータ接続)をすべて読み取る権限

よくある質問
Q: 実行ログファイルの生成はいつ必要ですか?
A: レポートはデータロードスクリプトを使用します。実行ログファイルには、インポートブリッジがスクリプトの式を理解するために役立つ情報が含まれています。スクリプトに変数、ループ、ダイナミックスクリプトのステートメントが含まれている場合は、常に実行ログファイルが役に立ちます。

Q: サポートチームが問題を再現できるよう、どのように情報を提供すればよいですか?
A: 関連するファイル(QVF、QVD、実行ログ、外部スクリプト)のアーカイブを提供します。

Q: 「ハンドシェイクレスポンスが受信されませんでした」というエラーはどうやって回避すればいいですか?
A: 証明書の生成に使用したホスト名がURLパラメーターに使用されているものと同じであることを確認します。

Q: -force.no.dataオプションを使ってモデルを収集しました。ただし、このモデルにはテーブル情報が含まれています。メタデータを収集しているのに、なぜデータが必要なのですか?
A: Miscellaneousパラメーターで-force.no.dataオプションが指定されたため、指定のドキュメントにスクリプトが存在し、これがインポートブリッジによってテーブルメタデータの解析に使われます。このインポートブリッジは、解析されたメタデータと共にドキュメントをインポートします。インポートブリッジは、getFieldList Qlik APIを呼び出してテーブルのメタデータを取得します。実際のドキュメントデータは解析されず、インポートブリッジによってインポートされることもありません。

Q: 別々のプロジェクトで同じ名前のテーブルをインポートすると、インポート結果が正しくなくなるのはなぜですか?
A: たとえば、ドキュメントはXテーブルとYテーブルからZテーブルにデータをロードします。次に、Zテーブルのデータをabc123.qvdに格納します。次にZ軸をドロップします。
そして、YテーブルとWテーブルからZテーブルにデータをロードしてqwe123.qvdを格納します。次にZ軸をドロップします。
そして、TテーブルとXテーブルからZテーブルにデータをロードしてasd123.qvdを格納します。
このドキュメントでは、3つの異なるSQL SELECT文で同じテーブル名Zを再利用しています。(SELECT > STORE > DROP)
来歴を維持するためには、上述の3つのテーブルをすべて作成しなければなりませんが、同じ名前で3つのテーブルを作成することはできません。そのため、ブリッジはドロップされたテーブルを一時テーブルとして検出し、一意の名前にします。この名前の形式は: name_Md5(application id)_removedTableNumberとなります。

制限事項
現在判明している一般的な制限事項は、https://metaintegration.com/Products/MIMB/Help/#!Documents/mimbknownlimitations.htmlをご覧ください。

サポート
トラブルシューティングパッケージを次の項目と共に提供してください:
- デバッグログ(UIまたはconf/conf.propertiesでMIR_LOG_LEVEL=6を使って設定可能)
- 利用できる場合はメタデータバックアップ(技術的理由によりこの共通オプションが実装されていないブリッジがあるものの、Miscellaneousパラメーターで-backupオプションを使って設定可能)


ブリッジパラメーター

パラメーター名 説明 タイプ デフォルト スコープ
Cloud URL Qlik Sense Engine APIへの接続に必要なQlik Sense CloudのURL。
クラウドURLの例: https://{tenant-id}.us.qlikcloud.com/
STRING     必須
トークン APIトークン。 パスワード     必須
項目 セミコロンで区切られている項目(スペース、アプリケーション、QVDなど)のリストです。
項目はパスまたはIDを使って識別できます。
アプリケーションやQVDのような項目はスペースに属します。そのパスは、Space1/Item1のようにスラッシュで区切られたスペース名と項目名で構成されます。
項目はパスで一括フィルタリングできます。どのような項目のグループを含めるか、または除外するかを指定できます。
たとえば 'Space0;Space2;Space3/Item3;/^*_Test'は、
Space1とSpace2のすべての項目とSpace3のItem3を含み、名前に_Testが含まれている項目をすべて除外することを意味します。
他の例をいくつか示します。
Space1/Item1 | 特定の項目
Space1/Item1;Space2/Item2 | 複数の項目(セミコロンで区切る)
Space1 | スペースにあるすべての項目(スラッシュで区切られていないスペース名)
Space1;Space2 | 複数のスペース
/*substring | スペースに部分文字列が含まれている項目をすべて含める
/^*substring | スペースに部分文字列が含まれている項目をすべて除外する
Space1/*substring | 名前に部分文字列が含まれておりスペースに属している項目をすべて含める
Space1/^*substring | 名前に部分文字列が含まれておりスペースに属している項目をすべて除外する

上級ユーザーであれば、GET/v1/itemsクエリーパラメーターを使って項目を指定できます。
https://qlik.dev/apis/rest/items/#%23%2Fentries%2Fv1%2Fitems-get
パラメーター値は、疑問符で始まるAPI URLの末尾を表します。
たとえば ?collectionId=12345というパタメーター値を使えば、12345という識別子を持つコレクションの項目を取得できます。

空のままにしておくと、アプリケーションとQVDがすべてインポートされます。
REPOSITORY_SUBSET      
複数のスレッド メタデータを非同期で収集するためのワーカースレッドの数。

- インポートブリッジに値を計算させる場合はパラメーターを空欄のままにしておきます。JVMアーキテクチャーと利用可能なCPUコアの数に応じて、1から6の間の数値を入れます。

- 実際のスレッド数を指定する場合は、1以上の数値を入力します。
指定した値が無効な場合は警告が表示され、1が使用されます。
メタデータを非同期で収集する時にメモリ不足になった場合は、数値を小さくして試してください。
マシンで利用できるメモリが多い(たとえば10GB以上)場合は、多くのドキュメントを一度に収集する時により大きな数値で試してみることができます。
ただし、設定した数値が大きすぎると、リソースの競合によりパフォーマンスの低下を招く場合があります。
数値      
Miscellaneous はじめに
ダッシュで始まるMiscellaneousオプションを指定し、必要であればその後にパラメーターを追加できます。例:
- connection.cast MyDatabase1="MICROSOFT SQL SERVER"
該当する場合は複数回使用できるオプションもあります。例:
- connection.rename NewConnection1=OldConnection1 -connection.rename NewConnection2=OldConnection2;
オプションのリストは長い文字列になるため、${MODEL_BRIDGE_HOME}\data\MIMB\parametersにあり拡張子が.txtであるファイルからロードすることもできます。その場合、オプションはすべて、このパラメーターの唯一の値としてそのファイル内で定義されることが必要です。例:
ETL/Miscellaneous.txt

JAVA環境のオプション
-java.memory <Javaメモリの最大サイズ> (以前の-m)

64ビットJREではデフォルトで1G、またはconf/conf.properties内の設定に従います。例:
-java.memory 8G
-java.memory 8000M

-java.parameters <Javaランタイム環境コマンドラインオプション> (以前の-j)


-java.parameters -Dname=value -Xms1G
のように、-java.parametersの後ろのテキストはすべてそのままJREに渡されるため、このオプションはMiscellaneousパラメーター内の最後に来る必要があります。インターネットへのアクセスにプロキシを使用している場合は、必要なサードパーティのソフトウェアライブラリーをダウンロードできるよう、次のオプションを設定する必要があります(このオプションはhttps://repo.maven.apache.org/maven2/にアクセスするため、そして例外的にいくつかの他のツールサイトにアクセスするために不可欠です)。
注: プロキシは、(会社の)外部トラフィックをHTTPSで暗号化しながら、HTTPでプロキシにアクセスできる内部トラフィックを信頼しているものがほとんどです。この場合、HTTPSリクエストはHTTPでプロキシに到達し、プロキシはそれをHTTPSで暗号化します。
-java.parameters -java.parameters -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=3128 -Dhttp.proxyUser=user -Dhttp.proxyPassword=pass

モデルインポートのオプション
-model.name <モデル名>

モデル名をオーバーライドをオーバーライドします。例:
-model.name "My Model Name"

-prescript <スクリプト名>

このオプションによって、ブリッジの実行前にスクリプトを実行できるようになります。
スクリプトはbinディレクトリー(またはconf/conf.propertiesのM_SCRIPT_PATHで指定)にあり、拡張子が.batか.shであることが必要です。
スクリプトのパスに親ディレクトリーの記号( .. )を含めることはできません。
スクリプトは、成功した場合は終了コードである0を、失敗した場合は別の値を返します。
例:
-prescript "script.bat arg1 arg2"

-postscript <スクリプト名>

このオプションによって、ブリッジが正しく実行された後にスクリプトを実行できるようになります。
スクリプトはbinディレクトリー(またはconf/conf.propertiesのM_SCRIPT_PATHで指定)にあり、拡張子が.batか.shであることが必要です。
スクリプトのパスに親ディレクトリーの記号( .. )を含めることはできません。
スクリプトは、成功した場合は終了コードである0を、失敗した場合は別の値を返します。
例:
-postscript "script.bat arg1 arg2"

-cache.clear

インポート前にキャッシュをクリアするため、増分収集せずにフルインポートを実行します。

モデルが変更されず、-cache.clearパラメーターが使われていない場合(増分収集)、新しいバージョンは作成されません。
モデルが変更されず、-cache.clearパラメーターが設定されている場合(増分ではなくフルソースインポート)、新しいバージョンが作成されます。

-backup <directory>

さらなるトラブルシューティングのため、入力メタデータを保存できるようにします。指定された<directory>は空であることが必要です。

-restore <ディレクトリー>

復元するバックアップ<ディレクトリー>を指定します。

データ接続オプション
使用するソースとターゲットのデータストアを参照するよう、通常はETL/DIツールとBIツールのインポートブリッジによってデータ接続が生成されます。これらのデータ接続はメタデータ管理ツールによって実際のデータストア(データベースやファイルシステムなど)への接続(メタデータスティッチング)に使われ、完全なエンドツーエンドのデータフローの来歴とインパクト分析が行われます。各データ接続の名前はインポートモデルごとに一意です。DI/BIデザインツールで使われているデータ接続名を可能な限り使用します。そうでない場合は、データベース/スキーマ名、ファイルシステムのパス、Uniform Resource Identifier (URI)など、短くても意味のある接続名が生成されます。次のオプションを使えば、接続を操作できます。これらのオプションによって、レガシーオプションである-c、-cd、-csが置き換えられます。

-connection.cast ConnectionName=ConnectionType

SQL解析のためにジェネリックデータベース接続(ODBCやJDBCなど)を正確なデータベースタイプ(ORACLEなど)にキャストします。例:
-connection.cast "My Database"="MICROSOFT SQL SERVER"
サポートされているデータストア接続タイプのリストは次のとおりです。
ACCESS
APACHE CASSANDRA
DB2/UDB
DENODO
GOOGLE BIGQUERY
HIVE
MYSQL
NETEZZA
ORACLE
POSTGRESQL
PRESTO
REDSHIFT
SALESFORCE
SAP HANA
SNOWFLAKE
MICROSOFT SQL AZURE
MICROSOFT SQL SERVER
SYBASE SQL SERVER
SYBASE AS ENTERPRISE
TERADATA
VECTORWISE
HP VERTICA

-connection.rename OldConnection=NewConnection

既存の接続を新しい名前に変更します。例:
-connection.rename OldConnectionName=NewConnectionName
既存の複数のデータベース接続の名前を変更し、新しい1つのデータベース接続に統合できます。例:
-connection.rename MySchema1=MyDatabase -connection.rename MySchema2=MyDatabase

-connection.split oldConnection.Schema1=newConnection

データベース接続を1つまたは複数のデータベース接続に分割します。
1つのデータベース接続をスキーマごとの1つの接続に分割できます。例:
-connection.split MyDatabase
すべてのデータベース接続をスキーマごとの1つの接続に分割できます。例:
-connection.split *
データベースにスキーマ名を追加することで、データベース接続を明示的に分割し、新しいデータベース接続を作成できます。例:
-connection.split MyDatabase.schema1=MySchema1

-connection.map SourcePath=DestinationPath

ソースパスをデスティネーションパスにマッピングします。これは、異なるパスが同じオブジェクト(ディレクトリーまたはファイル)をポイントしている場合にファイルシステム接続にとって便利です。
Hadoopでは、あるプロセスがHDFSの完全パスで指定されたCSVファイルに書き込む一方、別のプロセスが、デフォルトのファイル名と拡張子を持つ相対パスで指定されている同じファイルによって実装されたHiveテーブル(外部)から読み取ります。例:
-connection.map /user1/folder=hdfs://host:8020/users/user1/folder/file.csv
Linuxでは、/users/johnや/users/paulといった複数のシンボリックリンクによって、/dataのような特定のディレクトリー(またはファイル)が参照されます。例:
-connection.map /data=/users/John -connection.map /data=/users/paul
Windowsでは、M:やN:といった複数のネットワークドライブによって、C:\dataのような特定のディレクトリーが参照されます。例:
-connection.map C:\data=M:\ -connection.map C:\data=N:\

-connection.casesensitive ConnectionName...

検出されたデータストアのタイプがこの設定(Microsoft SQL ServerやMySqlなど)をサポートしている場合は、指定された接続内のオブジェクト識別子に対し、大文字と小文字を区別しないデフォルトのマッチングルールがオーバーライドされます。例:
-connection.casesensitive "My Database"

-connection.caseinsensitive ConnectionName...

検出されたデータストアのタイプがこの設定(Microsoft SQL ServerやMySqlなど)をサポートしている場合は、指定された接続内のオブジェクト識別子に対し、大文字と小文字を区別するデフォルトのマッチングルールがオーバーライドされます。例:
-connection.caseinsensitive "My Database"

-connection.level AggregationLevel

外部接続の集計レベルを指定します。例: -connection.level catalog
サポートされている値のリスト:
server
catalog
schema (デフォルト)

-database.type <接続データベースタイプ>

ジェネリックODBC接続を介してデータベースにアクセスしている場合は、そのデータベースに固有の来歴用SQL構文を適切に解析できるよう、正確なデータベースタイプを知っておくことが極めて重要です。
SQL解析用にサポートされているデータベースタイプは以下のとおりです:
ACCESS
CASSANDRA
DB2
DENODO
HIVE
MYSQL
NETEZZA
ORACLE
POSTGRESQL
PRESTO
REDSHIFT
SALESFORCE
SAP HANA
SNOWFLAKE
SQL SERVER
SYBASE
TERADATA
VECTORWISE
VERTICA

接続名を使わずにデフォルトのデータベース接続を指定します。例:
-database.type ORACLE

複数のデータベース接続が使われている場合は、関連する接続名を使用して各データベースタイプを指定します。例:
-database.type MyConnectionName=ORACLE

デフォルトのデータベースタイプを複数の接続データベースタイプと混合させることができます。例:
-database.type ORACLE -database.type MyConnectionName1=TERADATA -database.type MyConnectionName2=DB2

QLIKのオプション
-directory <ステートメント>

以降のLOADステートメントのディレクトリーパスを設定するために、QlikドキュメントのDIRECTORYステートメントが使われます。

このディレクトリーにアクセスできない場合は、DIRECTORYステートメントを使って別のディレクトリーにリダイレクトします。そのためには、DIRECTORYステートメントをQlikドキュメント実行ログからコピーし、= を追加して別のディレクトリーへのパスを指定します。次の場合は、c:\folderフォルダーがd:\folder2フォルダーにリダイレクトされます。例:
-directory "c:\folder1=d:\folder2"

DIRECTORYステートメントの後のパスが空である場合は、すべてのDIRECTORYステートメントが指定されたディレクトリーにリダイレクトされます。例:
-directory "[]=d:\folder2"

-file.path <ファイルディレクトリー>

Qlikドキュメントには、ファイルパスと連携するInclude、 Store、Loadといったステートメントが含まれていることがあります。元のファイルパスがこのインポートブリッジによってはアクセスできない場合、次のようなエラーが記録されます:
-「次のファイルを開くことができません: '\\inaccessible\scripts\include.txt」
-「ソースドキュメントである\\inaccessible\QVDs\file.qvdがアクセス不可能であるため、依存項目を処理できませんでした」
このようなエラーは、アクセスできないファイルをアクセス可能なパスにコピーすることで解決できます。

必要なファイルが\\inaccessible\folder", then copy them to C:\accessible\folderにある場合は、それをC:\accessible\foldeにコピーし、新しい場所から読み取るようインポートブリッジに指示してください。例:
-file.path "\\inaccessible=c:\accessible"

file.pathオプションでは、複数のfile.pathオプションを指定することで元のファイルパスの一部を新しいものと置換できます。例:
-file.path "\\inaccessible=c:\accessible" -file.path "\\inaccessible2=c:\accessible2"

インポートブリッジは、複数の-file.pathオプションを指定された順番に適用します。
-file.path "\\a=c:\a" -file.path "\\aa=c:\aa" - 正しくない方法
-file.path "\\aa=c:\aa" -file.path "\\a=c:\a" - 正しい方法

file.pathの指定は、インポートするQlikSenseドキュメントがあるディレクトリーパスの外側では行わないようにしてください。

-log.notavailable

重要なメタデータ(来歴用の正確なソースデータストアテーブルなど)のため、動的なアスペクト(ループ、サブルーチン、変数定義の使用など)が原因でQlikスクリプトから直接抽出できないことから、Qlikドキュメント実行ログが必要とされます。
このオプションによって、実行ログが利用できない場合(来歴用の一部の重要なメタデータが欠けているなど)でもインポートできるようになります。

-force.no.data

Qlikサーバーは、データとテーブル情報なしでドキュメントを開きます。

-no.data

実行ログが存在する場合、Qlikサーバーはデータとテーブル情報なしでドキュメントを開きます。実行ログがない場合、Qlikサーバーは指定されたドキュメントをデータと共に開きます。

-hostname.whitelist

ユーザーがServer URLでIPアドレスを使用し、「javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: IPアドレスxx.xx.xx.xxに一致するサブジェクトの別名が見つかりません」というエラーが返される場合。
このオプションによって、このIPアドレスをホワイトリストに追加できます。

-websocket.timeout <秒単位のタイムアウト>

ブリッジがウェブソケットのレスポンスを待つ秒数を指定します。デフォルト値は30秒です。
STRING      

 

ブリッジのマッピング

マッピング情報は利用できません

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。