21 Oracle Business Intelligence Cloud Service
この章の内容は次のとおりです。
概要
Oracle Business Intelligence Cloud Service (BICS)では、データセットおよび表というエンティティを使用してデータを格納し、それらのデータを分析ソリューションで利用しています。
表21-1 データセットと表
データセット | 表 |
---|---|
索引なし |
索引を作成できる |
1回の操作でデータの作成と挿入が可能 | データの作成と挿入は異なるペイロードの2つの別個のステップでとして実行する |
データのロードで明示的なバッチ処理がサポートされる | データのロードでより細かい制御が可能
たとえば、ロード時に許容するエラーの最大数など 列定義について、より細かい制御が可能 |
注意:
データセットおよび表には、'firstBatch'と'lastBatch'というパラメータがあります。これらはDBCSスキーマによって支えられています。DBCSスキーマの情報はパブリッシュされません。データは、マルチパート・メッセージのアプリケーション/オクテットストリーム形式のパートとして、データセット/表にロードされます。デリミタ付きテキスト・ストリームまたはJavaオブジェクト配列ストリームを使用できます。ODIが行うのはBICSデータセットまたは表へのデータ・ロードのみです。ODIではBICSデータセットまたは表からのデータの読取りは行いません。データセットと表のいずれの場合も、BICSターゲットを定義する必要があります。これらのエンティティはそれぞれ別のURLエンドポイントにバインドされるため、ODIデータセット・コンテナのバインド先はデータセットまたは表のいずれかであり、両方ということはありません。つまり、ODIモデル(およびインタフェースによって関連付けられる論理または物理スキーマ)のバインド先にできるのはデータセット・エンドポイントまたは表エンドポイントのいずれかです。
BICSターゲットにデータをロードするときにはマッピングが必要になるため、BICSデータセットまたは表をデータセットとしてODI内にモデル化する必要があります。BICS論理スキーマをステージングに使用することはできません。また、BICSデータセットをマッピングのソースとして使用することもできません。
トポロジの設定
トポロジの設定には次が含まれます。
Oracle BICSデータ・サーバーの作成
BICSデータサーバーでエンドポイントURLおよびデータ・ローダーの接尾辞を定義します。URLのデータ・ソース接尾辞部分はデータセットと表のどちらを探索するのかによって異なり、これは「物理スキーマ」ページで公開されます。そのため、1つのBICSデータサーバーでデータセットと表の両方に対応できます。
データ・サーバー・ページにはデータサーバー名、ベースURI、ユーザー名、パスワードおよびアイデンティティ・ドメインのフィールドがあります。
次に、完全なBICS URIを示します。
https://service-identity_domain.analytics.data_center.oraclecloud.com/resource-path
ベースURIはBICSサービス・インスタンスの最初のパス・セグメントです。
次に、ベースURIを示します。
https://service-identity_domain.analytics.data_center.oraclecloud.com
データ・ローダーのパス・フィールドは自動入力される定数です。そのためパス・セグメントを確認できます。
次に、データ・ローダーのパス・セグメントを示します。
/dataload/v1
BICSモデルのリバース・エンジニアリング
注意:
リバース・エンジニアリング後、BICS表/データセットを確認して、列のデータ型を手動で修正します。表21-2 KMのオプション
オプション | タイプ | デフォルト | 説明 |
---|---|---|---|
GET_TABLE_INDEXES |
表 |
True |
表の索引を取得するか否か |
DEFAULT_DIRECTORY |
表 |
java.lang.System.getProperty("java.io.tmpdir") |
RESTコールによって生成される一時(戻り)ファイルのディレクトリ。 RESTコールによって生成される一時データ・ファイルはRKM実行の終了時にすべて削除されます。 |
マッピングの設計
Hyperion用のIKMと同様に、BICS IKMは複数接続です。BICSデータセット/表のバッチ処理機能が使用されます。
注意:
IKM SQL to Oracle BI Cloud Serviceでは、Oracle SDO_GEOMETRYデータ型の列をBICSターゲット表にロードできません。Oracle BI Cloud Serviceをステージング領域として使用することはできず、増分更新およびフロー/静的チェックはサポートされません。そのため次のKMは、Oracle BI Cloud Serviceテクノロジには使用できません。
-
RKM SQL (JYTHON)
-
LKM File to SQL
-
CKM SQL
-
IKM SQL Incremental Update
-
IKM SQL Control Append
-
LKM SQL to SQL (JYTHON)
マッピング・ターゲットとしてのBICSデータセット
IKM SQL to Oracle BI Cloud Serviceではデータセット/表のロード・オプションがKMオプションとして公開されています。
表21-3 サポートされているKMオプション
オプション | タイプ | デフォルト | 説明 |
---|---|---|---|
TRUNCATE_TARGET_TABLE |
ブール |
False |
データのロードを開始する前にデータを削除します。これはBICS表にのみ適用されます。 |
DROP_TARGET |
ブール |
False |
データのロードを開始する前に、ターゲット表/データセットを削除します。 |
CREATE_TARGET |
ブール |
False |
ターゲット表/データセットが存在しない場合、最初に作成します。 注意: REST APIデータセットのデータ・ロードのセマンティックは、'存在しない場合は作成する'です。そのためデータセットの場合、この設定はオプションです。 |
DATA_WRITE_MODE |
選択 |
Insert all |
選択肢は、Insert all、Insert missing、UpsertおよびUpdate onlyです。これは、ターゲットがBICS表である場合にのみ適用されます。BICS表に一意の索引がない場合、Upsert/Update onlyを選択しただけでは操作に失敗します。 |
NUM_RETRIES |
テキスト |
0 |
各データロード・バッチ操作でエラーが発生することがあります。これは再試行を許可する数値のオプションです。デフォルトの設定は、再試行なしです。 |
RETRY_DELAY |
テキスト |
5 |
各再試行の実行間隔(秒数)。 |
REMOVE_DUPLICATES |
ブール |
False |
BICS表にのみ適用され、送信されるバッチ内の重複データを削除するかどうかを示します。すでにBICS表にあるデータは処理しません。 |
BATCH_SIZE |
テキスト |
1000 |
一度に(1回のPOSTリクエストで)送信する行数。 |
VALIDATE_COLUMNS |
ブール |
False |
データのロード前に、BICSターゲットの列名を検証するかどうか。 |
MAX_ERR_PER_BATCH |
テキスト |
0 |
Oracle BICSで許容される1バッチ当たりの最大エラー数。表にのみ適用されます。 |
TRACE_FILE |
テキスト |
空 |
IKMによるすべてのRESTコールのトレースを記録するファイルの場所。空のままの場合、トレースは作成されません。 |
注意:
データセット-
BICSデータセットには索引がありません。
-
データのロード時に、一意の索引のエラーは発生しません。
-
発生する可能性があるエラーは、ターゲット列のデータ型が一致しない場合のエラーのみです。
-
BICS表では一意の索引がサポートされます。
-
一意の索引が存在すること、およびデータ・ロード操作に索引が含まれているかにより、挿入/更新モードが決まります。
-
'重複削除'の場合も一意の索引が必要です。
-
Insert missing/Update only/Upsert allの場合、一意の索引がデータ・ロードに含まれている必要があります。
-
'Insert all'の場合、データ・ロードに含まれている列がnull可能であれば、一意の索引は必要ありません。