21 Oracle Business Intelligence Cloud Service

Oracle Data IntegratorでのOracle Business Intelligence Cloud Service (BICS)の使用方法について理解することが重要です。

この章の内容は次のとおりです。

概要

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

Oracle BICS物理スキーマの作成

BICSデータサーバーの構成後、物理スキーマを構成します。BICS物理スキーマでデータセットと表のいずれかを選択するよう促されます。これによりリソースURIが制御されます。

注意:

リソースURIはリストから選択するか手入力できますが、選択/入力して保存した後は編集ができません。
物理スキーマのバインド先がBICS表とデータセットのどちらであるかに基づいて、REST操作の関連付けがトリガーされます。操作は、データセットと表で一意であり、事前定義されます。

BICSモデルのリバース・エンジニアリング

BICS論理スキーマを設定したら、作成した論理スキーマに基づいてモデルを作成しリバース・エンジニアリングを実行できます。BICS表またデータセットのメタデータをリバース・エンジニアリングするには、RKM Oracle BI Cloud Serviceを選択する必要があります。

注意:

リバース・エンジニアリング後、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可能であれば、一意の索引は必要ありません。