29 Oracle Object Storage

この章では、Oracle Data IntegratorでのOracle Object Storageの使用方法について説明します。

注意:

この章は、Data Integration Platform Cloudにのみ適用されます。

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

29.1 概要

Oracle Object Storageは、非常にセキュアでパフォーマンスの高い永続的な記憶域プラットフォームです。これにより、クラウド・プラットフォーム内のWebベース・コンソールを使用して、いつでも安全かつセキュアに無制限データを格納または取得できます。

Oracle Data Integrator (ODI)では、Oracle Object Storageがシームレスに統合されます。この統合により、ODIからOracle Object Storageに接続して、ローカル・ディレクトリまたはHDFSを対象にファイル/オブジェクトをアップロード、ダウンロードおよび削除できます。

29.1.1 概念

Oracle Object Storageは、次のコンポーネントで構成されます。

  • オブジェクト: すべてのデータは、コンテンツ・タイプにかかわらず、オブジェクトとしてOracle Object Storageに格納されます。

  • バケット: バケットは、オブジェクトを格納するコンテナです。単一テナントの1つ以上のバケットにオブジェクトを格納できます。

  • 名前空間: 名前空間は、個人用のバケット名を所有できる論理構造です。バケット名はグローバルではないため、バケットにはより自由で柔軟な方法で名前を割り当てることができます。1つのObject Storage Cloudテナントは、デフォルトでシステムにより割り当てられる1つの名前空間に関連付けられます。

  • コンパートメント: コンパートメントは、関連リソースのコレクションであり、管理者からそれらのリソースにアクセスする権限を付与されたグループのみがアクセスできます。コンパートメントは、必ずしもOracle Object Storageのみに関連付けられた概念ではありませんが、すべてのバケットはコンパートメントに存在するため、ここで示します。

次の図は、Oracle Object Storageコンポーネントの構成方法を理解するために役立ちます。コンパートメントAに対するアクセス権を付与されているユーザーは、バケット1またはバケット2と、それらのバケットに格納されているオブジェクトにのみアクセスできます。

図29-1 オブジェクト記憶域コンポーネント

図29-1の説明が続きます
「図29-1 オブジェクト記憶域コンポーネント」の説明

Oracle Object Storageの詳細は、https://docs.us-phoenix-1.oraclecloud.com/Content/Object/Concepts/objectstorageoverview.htmを参照してください。

29.2 インストールおよび構成

Oracle Object Storageテクノロジでの作業を開始する前に、この項の情報を必ず読んでください。

29.2.1 システム要件および動作要件

インストールを実行する前に、システム要件および動作保証のドキュメントを読み、インストールする製品の最小インストール要件を環境が満たしていることを確認します。

サポートされているプラットフォームおよびバージョンのリストには、次のOracle Technical Network (OTN)からアクセスできます: http://www.oracle.com/technetwork/middleware/data-integrator/documentation/index.html

29.2.2 テクノロジ固有の要件

ODIでOracle Object Storageを使用する場合のテクノロジ固有の要件は、次のとおりです。

  • Oracle Object Storageと呼ばれる新しい専用のビルトイン・テクノロジ。

  • このテクノロジから新しいデータ・サーバーを作成して、対応する物理スキーマと論理スキーマを作成します。

    いくつかの主要なプラットフォームを対象とするデータ型マッピングは、次のデータ型に対して定義されます。このテクノロジのサポートされるデータ型は次のとおりです。

    • Array

    • ブール

    • バイト

    • 複合

    • 日付

    • ダブル

    • 列挙

    • 固定

    • 浮動小数

    • 整数

    • ロング

    • マップ

    • 数値

    • 文字列

    • Struct

    • 共用体

29.3 トポロジの設定

トポロジの設定には次が含まれます。

29.3.1 Oracle Object Storageデータ・サーバーの作成

『Oracle Data Integratorの管理』のデータ・サーバーの作成に関する項に記載されている標準の手順で、Oracle Object Storageテクノロジ用データ・サーバーを作成します。この項では、Oracle Object Storageデータ・サーバーの定義に関する必須または固有のフィールドのみについて説明します。

  • 「定義」タブ:

    「データ・サーバー」ページには、次のフィールドが含まれており、それらは次のような異なるカテゴリにグループ化されています。

    • データ・サーバー

      • 名前 - Oracle Data Integratorに表示されるデータ・サーバーの名前。

    • 一般

      • リージョン - Oracle Object Storageリージョン。リージョンは、地域的な地理領域で、可用性ドメインは、リージョン内に配置された1つ以上のデータ・センターです。1つのリージョンは、複数の可用性ドメインで構成されます。ほとんどのOracle Cloud Infrastructureリソースは、仮想クラウド・ネットワークのようにリージョン固有であるか、コンピュート・インスタンスのように可用性ドメイン固有です。

      • テナントOCID - テナントのOracle Cloud ID。すべてのOracle Cloud Infrastructureリソースには、Oracle Cloud Identifier (OCID)というOracle割当ての一意のIDがあります。これは、コンソールとAPIの両方にリソース情報の一部として含まれます。テナントのOCIDを検索するには、コンソール→「メニュー」→「管理」→「テナント詳細」→「テナント情報」→「OCID」にナビゲートします。

        たとえば、ocid1.tenancy.oc1..aaaaaaaauwjnv47knr7uuuvqar5bs hnspi6xoxsfebh3vy72fi4swgrkvuvq

      • ユーザーOCID - Oracle Object StorageにログインしているユーザーのOracle Cloud ID。

        コンソールのページにユーザーの詳細が表示されます。このページに移動するには:

        • ユーザーとしてサインインしている場合、コンソールの右上隅にあるユーザー・アイコンをクリックして、「ユーザー設定」をクリックします。

        • 別のユーザーのかわりに管理者としてこの操作を行う場合、「アイデンティティ」→「ユーザー」をクリックして、リストからユーザーを選択します。

    • セキュリティ

      • 秘密キーファイル - 「参照」ボタンをクリックして、(PEM形式の)秘密キーファイルの場所を選択します

      • パスフレーズ - パスフレーズは、秘密キーを生成する際に使用されるパスワードです

        次のOpenSSLコマンドを使用して、必要なPEM形式でキー・ペアを生成できます。Windowsを使用している場合、Git Bash for Windowsをインストールして、そのツールでコマンドを実行する必要があります。

        1. まだ作成していない場合、資格証明を格納する.ociディレクトリを作成します。

          mkdir ~/.oci
        2. 次のコマンドのいずれかを使用して秘密キーを生成します。

          • プロンプトが表示されたときに入力するパスフレーズで暗号化されたキーを生成するには、次のようにします。

            openssl genrsa -out ~/.oci/oci_api_key.pem -aes128 2048 
          • Windowsでは、パスフレーズを求めるプロンプトを表示するには、場合により-passout stdinを挿入する必要があります。プロンプトは、テキストなしで点滅するカーソルのみとなります。
            openssl genrsa -out ~/.oci/oci_api_key.pem -aes128 2048 
          • パスフレーズなしでキーを生成するには:

            openssl genrsa -out ~/.oci/oci_api_key.pem 2048
          • 秘密キー・ファイルは、自分だけが読み取れるようにしてください。

            chmod go-rwx ~/.oci/oci_api_key.pem
      • フィンガープリント - 公開キーに生成されるフィンガープリント

        次のOpenSSLコマンドを使用してキーのフィンガープリントを取得できます。Windowsを使用している場合、Git Bash for Windowsをインストールして、そのツールでコマンドを実行する必要があります。
        openssl rsa -pubout -outform DER -in ~/.oci/oci_api_key.pem | openssl md5 -c

        コンソールで公開キーをアップロードすると、フィンガープリントも自動的にそこに表示されます。たとえば、12:34:56:78:90:ab:cd:ef:12:34:56:78:90:ab:cd:ef

    • Swift接続

      • テナント名 - テナントの名前

      • ユーザー名 - Oracle Object Storageにログインしているユーザーの名前

      • トークン - Swift接続に対して生成されたパスワード。

        これらのSwift接続パラメータは、Oracle Object Storageテクノロジに接続するためにAutonomous Data Warehouse Cloud Serviceによって使用されます。

29.3.2 Oracle Object Storage物理スキーマの作成

『Oracle Data Integratorの管理』の物理スキーマの作成に関する項の説明に従って、標準の手順を使用してOracle Object Storage物理スキーマを作成します。

Oracle Object Storage固有のパラメータは、次のとおりです。

  • 名前: 作成される物理スキーマの名前

  • バケット(スキーマ): アップロード、ダウンロードまたは削除操作の発生元となるOracle Object Storageバケット名を指定します。「バケット名」ドロップダウン・リストから必要なバケットを選択します。

  • ディレクトリ(作業スキーマ): これは、リバース・エンジニアリング中にOracle Object Storageバケットからファイルを取得するために使用されるローカル・システムの一時フォルダです。ディレクトリが存在しない場合は作成されます。ローカル・システムで必要な場所を指定します。

『Oracle Data Integratorの管理』の論理スキーマの作成に関する項の説明に従って、標準の手順を使用してこの物理スキーマ用の論理スキーマを作成し、適切なコンテキストに関連付けます。作成された論理スキーマは、Oracle Object Storageインスタンスの詳細を取得するために使用します。これらの詳細は、Oracle Object Storageテクノロジに接続するために使用されます。また、物理スキーマに関連付けられたバケットの詳細を取得するためにも使用されます(同様に、物理スキーマはこの論理スキーマに関連付けられます)。

29.4 Oracle Object Storageモデルの作成およびリバース・エンジニアリング

この項では、次の項目について説明します。

29.4.1 Oracle Object Storageモデルの作成

Oracle Object Storageモデルは、Oracle Object Storageバケットに格納されたファイルに対応するデータストアのセットです。特定のコンテキストで、論理スキーマは1つの物理スキーマに対応します。Oracle Object Storageテクノロジの論理スキーマからモデルを作成できます。この物理スキーマのバケット・スキーマは、すべてのファイルを含むOracle Object Storageバケットです。マッピングで使用できるように、Oracle Object Storageのファイルを表す新しいODIデータストアを作成できます。

『Oracle Data Integratorでの統合プロジェクトの開発』のモデルの作成に関する項の説明に従って、標準の手順を使用してOracle Object Storageモデルを作成します。

29.4.2 Oracle Object Storageモデルのリバース・エンジニアリング

Oracle Data Integratorでは、特有の方法でOracle Object Storageファイルをリバース・エンジニアリングできます。Oracle Object Storageでは、次の2つのタイプのリバース・エンジニアリングがサポートされます。
29.4.2.1 Oracle Object Storageからのデリミタ付きファイルのリバース・エンジニアリング

デリミタ付きファイルのリバース・エンジニアリングを実行するには:
  1. 「モデル」アコーディオンで、自分のObject Storageモデルを右クリックして「新規データストア」を選択します。データストア・エディタが開きます。

  2. 「定義」タブで次のフィールドに入力します。

    • 名前: このデータストアの名前

    • リソース名: サブディレクトリ(必要な場合)およびファイルの名前。これには、構成済バケットでOracle Object Storageに存在するすべてのファイルがリストされます。

  3. 「記憶域」タブに移動してファイルの詳細を指定します。次のようにフィールドを設定します。

    • ファイル形式: 区切り

    • ヘッダー(行数): ヘッダーの行数を入力します。ヘッダーがある場合、ヘッダーの最初の行はOracle Data Integratorによってファイルの列名に使用されます。

    • 「レコード・セパレータ」を選択します。

    • 「フィールド・セパレータ」として使用する文字を選択または入力します。

    • ファイルで使用されている場合は「テキスト・デリミタ」を入力します。

    • ファイルに小数点が含まれる場合は「小数点セパレータ」,を入力します。

  4. 「ファイル」メイン・メニューから「保存」を選択します。

  5. データストア・エディタ「属性」タブに移動します。

  6. エディタ・ツールバーで「リバース・エンジニアリング」をクリックします。

  7. リバース・エンジニアリングされた属性のデータ型および長さを検証します。Oracle Data Integratorでは、ファイルの内容からフィールドのデータ型および長さが推測されますが、このプロセスでデフォルト値(たとえば、文字列フィールドの長さが50)や不正なデータ型が設定されることがあります。

  8. 「ファイル」メイン・メニューから「保存」を選択します。

29.4.2.2 Oracle Object Storageからの固定ファイルのリバース・エンジニアリング
Oracle Data Integratorには、固定ファイルの列を定義するためのグラフィカルなウィザードが用意されています。

ウィザードを使用してOracle Object Storageからの固定ファイルをリバース・エンジニアリングするには:

  1. 「モデル」アコーディオンで、自分のObject Storageモデルを右クリックして「新規データストア」を選択します。データストア・エディタが開きます。

  2. 「定義」タブで次のフィールドに入力します。

    • 名前: このデータストアの名前

    • リソース名: サブディレクトリ(必要な場合)およびファイルの名前。これには、構成済バケットでOracle Object Storageに存在するすべてのファイルがリストされます。

  3. 「記憶域」タブに移動してファイルの詳細を指定します。次のようにフィールドを設定します。

    • ファイル形式: 固定

    • ヘッダー(行数): ヘッダーの行数を入力します。

    • 「レコード・セパレータ」を選択します。

  4. 「ファイル」メイン・メニューから「保存」を選択します。

  5. データストア・エディタの「属性」タブに移動します。

  6. エディタ・ツールバーで「リバース・エンジニアリング」をクリックします。属性設定ウィザードが表示されます。ファイルの最初のレコードが属性設定ウィザードに表示されます。

  7. ルーラー(ファイルの内容の上部)をクリックし、属性を区切るマーカーを作成します。ルーラー内で右クリックすると、マーカーを削除できます。

  8. 事前に生成された名前(C1、C2など)を使用して属性が作成されます。属性名を編集するには、属性ヘッダー行(ルーラーの下)をクリックします。

  9. (右側の)プロパティ・パネルで、選択した属性のすべてのパラメータを編集できます。少なくとも、各属性の「属性名」、「データ型」および「長さ」を設定してください。

  10. 属性の定義が完了したら「OK」,をクリックします。

  11. 「ファイル」メイン・メニューから「保存」を選択します。

29.5 Oracle Object Storageツールの使用

Oracle Data Integratorを介して、Oracle Object Storageを対象にファイルをアップロード、ダウンロードおよび削除できます。次の操作を実行するために役立つObject Storageツールがあります。

ノート:

ODI Studioは別として、コマンドラインからもODI Object Storageツールを使用できます。

29.5.1 Oracle Object Storageへのファイル/オブジェクトのアップロード

ODI Object Storageアップロード・ツールは、HDFSまたはローカル・ファイル・システムからOracle Object Storageに1つ以上のファイルまたはディレクトリ全体をアップロードするために使用します。

ノート:

選択したバケットが存在しない場合、アップロード操作は失敗します。

Object Storageにファイルまたはディレクトリをアップロードするには、次のようにします。

  • 新しいプロジェクトを作成します。

    プロジェクトを作成する方法の詳細は、『Oracle Data Integratorでの統合プロジェクトの開発』の「統合プロジェクトの作成」を参照してください。

  • 作成したプロジェクト・フォルダの下に、パッケージを作成します。

    パッケージを作成する方法の詳細は、『Oracle Data Integratorでの統合プロジェクトの開発』の「パッケージの作成および使用」を参照してください。

  • ツールボックスに含まれるOdiObjectStorageUploadツールを選択します。それを作成したパッケージに移動します。

    ノート:

    「一般」タブにツールのすべてのプロパティが表示されます。
  • 必要なプロパティを構成します。

    表29-1 ODI Object Storageアップロード・ツールのプロパティ

    パラメータ 説明

    ターゲット論理スキーマ

    Oracle Object Storageデータ・サーバーで構成されたターゲット論理スキーマ名。

    ソース論理スキーマ

    Oracle Object StorageにローカルまたはHDFSファイルをアップロードするためにファイルまたはHDFSデータ・サーバーで構成されたソース論理スキーマ名。

    ファイル名フィルタ

    Oracle Object Storageに再帰的にアップロードする1つ以上のファイルを指定するフィールド。デリミタとして「|」で区切られたファイルのリストもサポートされます。準拠するパターンは次のとおりです。

    • *.txt - 末尾が.txtのすべてのファイルをアップロードします

    • test* - 先頭が"test"に一致するすべてのファイルおよびディレクトリをアップロードします

    • *test* - 部分文字列に"test"を含むすべてのファイルおよびディレクトリをアップロードします

    • test.xml | test1.xml | test2.xml - 指定されたすべてのファイルをアップロードします

    • test* | test1* - test*およびtest1*というパターンに一致するすべてのファイルをアップロードします

    • test.xml - 1つのファイルのみアップロードします

    上書き

    このパラメータは、アップロード操作で既存のファイルを上書きするかどうかを示します。このパラメータのデフォルト値は、「いいえ」です。

    エラー発生時の再試行

    これは、アップロード中に障害またはエラーが発生したときに実行する再試行の回数を表します。

    再試行間隔(秒単位)

    再試行間隔は、何秒ごとに再試行を実行するかを示します。

    前述のパラメータの使用方法の詳細は、『Oracle Data Integratorツール・リファレンス』のODI Object Storageアップロード・ツールに関する項を参照してください。

  • パッケージを保存して実行します。

    必要なファイルがソース・ディレクトリからOracle Object Storageのターゲットの場所にアップロードされます。

  • アップロードに成功すると、「詳細」タブでこのアップロード操作の詳細なログを参照できます。「詳細」タブに移動する場合、「オペレータ」タブでアップロード・ツールの関連セッションを展開し、「セッション・タスク」ウィンドウを開くと、必要なログ情報を含む「詳細」タブが表示されます。

    詳細は、次のとおりです。

    • ソース・ディレクトリ: <ソース・ディレクトリ・パス>

    • ターゲット・バケット: <オブジェクト記憶域のバケット名>

    • 使用されているフィルタ: <入力フィルタ>

    • アップロードされたファイルの数: <アップロードされたファイルの合計数>

    • アップロードされたファイル: <File1, File2>

    • 失敗したファイルの数: <アップロードされなかったファイルの合計数>

    • 失敗したファイル: <File1, File2>

29.5.2 Oracle Object Storageからのファイル/オブジェクトのダウンロード

ODI Object Storageダウンロード・ツールは、Oracle Object StorageからHDFSまたはローカル・ファイル・システムに1つ以上のファイルまたはディレクトリ全体をダウンロードするために使用します。

Object Storageからファイルまたはディレクトリをダウンロードするには、次のようにします。

  • 新しいプロジェクトを作成します

    プロジェクトを作成する方法の詳細は、『Oracle Data Integratorでの統合プロジェクトの開発』の「統合プロジェクトの作成」を参照してください。

  • 作成したプロジェクト・フォルダの下に、パッケージを作成します

    パッケージを作成する方法の詳細は、『Oracle Data Integratorでの統合プロジェクトの開発』の「パッケージの作成および使用」を参照してください。

  • ツールボックスに含まれるOdiObjectStorageDownloadツールを選択します。それを作成したパッケージに移動します。

    ノート:

    「一般」タブにツールのすべてのプロパティが表示されます。
  • 必要なプロパティを構成します。

    表29-2 ODI Object Storageダウンロード・ツールのプロパティ

    パラメータ 説明

    ソース論理スキーマ

    Oracle Object Storageデータ・サーバーで構成されたソース論理スキーマ名。

    ターゲット論理スキーマ

    通常、ダウンロード操作によって、Oracle Object StorageからローカルまたはHDFSファイル・システムにファイルをダウンロードします。ターゲット論理スキーマによって、ローカルまたはHDFSファイル・システムのどちらにファイルをダウンロードするかを指定します。

    ファイル名フィルタ

    Oracle Object Storageから再帰的にダウンロードする1つ以上のファイルを指定するフィールド。区切られたファイルのリスト用にデリミタの「|」もサポートされます。準拠するパターンは次のとおりです。

    • *.txt - 末尾が.txtのすべてのファイルをダウンロードします

    • test* - 先頭が"test"に一致するすべてのファイルおよびディレクトリをダウンロードします

    • *test* - 部分文字列に"test"を含むすべてのファイルおよびディレクトリをダウンロードします

    • test.xml | test1.xml | test2.xml - 指定されたすべてのファイルをダウンロードします

    • test* | test1* - test*およびtest1*というパターンに一致するすべてのファイルをダウンロードします

    • test.xml - 1つのファイルのみダウンロードします

    上書き

    このパラメータは、ダウンロード操作で既存のファイルを上書きするかどうかを示します。このパラメータのデフォルト値は、「いいえ」です。

    エラー発生時の再試行

    これは、ダウンロード中に障害またはエラーが発生したときに実行する再試行の回数を表します。

    再試行間隔(秒単位)

    再試行間隔は、何秒ごとに再試行を実行するかを示します。

    前述のパラメータの使用方法の詳細は、『Oracle Data Integratorツール・リファレンス』のODI Object Storageダウンロード・ツールに関する項を参照してください。

  • パッケージを保存して実行します

    必要なファイルがOracle Object Storageから構成されたターゲットの場所にダウンロードされます。

  • ダウンロードに成功すると、「詳細」タブでこのダウンロード操作の詳細なログを参照できます。「詳細」タブに移動する場合、「オペレータ」タブでダウンロード・ツールの関連セッションを展開し、「セッション・タスク」ウィンドウを開くと、必要なログ情報を含む「詳細」タブが表示されます。

    • ソース・バケット: <オブジェクト記憶域のバケット名>

    • ターゲット・ディレクトリ: <ターゲット・ディレクトリ・パス>

    • 使用されているフィルタ: <入力フィルタ>

    • ダウンロードされたファイルの数: <ダウンロードされたファイルの合計数>

    • ダウンロードされたファイル: <File1, File2>

    • 失敗したファイルの数: <ダウンロードされなかったファイルの合計数>

    • 失敗したファイル: <File1, File2>

29.5.3 Oracle Object Storageからのファイル/オブジェクトの削除

ODI Object Storage削除ツールは、Oracle Object Storageに存在する1つ以上のファイルまたはディレクトリ全体を削除するために使用します。

Object Storageからファイルまたはディレクトリを削除するには、次のようにします。

  • 新しいプロジェクトを作成します

    プロジェクトを作成する方法の詳細は、『Oracle Data Integratorでの統合プロジェクトの開発』の「統合プロジェクトの作成」を参照してください。

  • 作成したプロジェクト・フォルダの下に、パッケージを作成します

    パッケージを作成する方法の詳細は、『Oracle Data Integratorでの統合プロジェクトの開発』の「パッケージの作成および使用」を参照してください。

  • ツールボックスに含まれるOdiObjectStorageDeleteツールを選択します。それを作成したパッケージに移動します。

    ノート:

    「一般」タブにツールのすべてのプロパティが表示されます。
  • 必要なプロパティを構成します。

    表29-3 ODI Object Storage削除ツールのプロパティ

    パラメータ 説明

    ターゲット論理スキーマ

    ターゲット論理スキーマには、削除対象のファイルおよびディレクトリが格納されたOracle Object Storageデータ・サーバーの詳細が含まれます。

    ファイル名フィルタ

    Oracle Object Storageから再帰的に削除する1つ以上のファイルまたはディレクトリを指定するフィールド。区切られたファイルのリスト用にデリミタの「|」もサポートされます。準拠するパターンは次のとおりです。

    • *.txt - 末尾が.txtのすべてのファイルを削除します

    • test* - 先頭が"test"に一致するすべてのファイルおよびディレクトリを削除します

    • *test* - 部分文字列に"test"を含むすべてのファイルおよびディレクトリを削除します

    • test.xml | test1.xml | test2.xml - 指定されたすべてのファイルを削除します

    • test* | test1* - test*およびtest1*というパターンに一致するすべてのファイルおよびディレクトリを削除します

    • test.xml - 1つのファイルのみ削除します。

    エラー発生時の再試行

    これは、削除中に障害またはエラーが発生したときに実行する再試行の回数を表します。

    再試行間隔(秒単位)

    再試行間隔は、何秒ごとに再試行を実行するかを示します。

    前述のパラメータの使用方法の詳細は、『Oracle Data Integratorツール・リファレンス』のODI Object Storage削除ツールに関する項を参照してください。

  • パッケージを保存して実行します。

    選択したファイルがOracle Object Storageから削除されます。

  • 削除に成功すると、「詳細」タブでこの削除操作の詳細なログを参照できます。「詳細」タブに移動する場合、「オペレータ」タブで削除ツールの関連セッションを展開し、「セッション・タスク」ウィンドウを開くと、必要なログ情報を含む「詳細」タブが表示されます。

    • ターゲット・バケット: <オブジェクト記憶域のバケット名>

    • 使用されているフィルタ: <入力フィルタ>

    • 削除されたファイルの数: <削除されたファイルの合計数>

    • 削除されたファイル: <File1, File2>

    • 失敗したファイルの数: <削除されなかったファイルの合計数>

    • 失敗したファイル: <File1, File2>

29.6 マッピングの設計

ファイル/HDFSまたはSQLテクノロジ(Oracleなど)をマッピングのソースとして、Oracle Object Storageテクノロジをそのターゲットとして使用できます。

Oracle Object Storage物理スキーマは、オブジェクト記憶域バケットによって表されます。ユーザー名やパスワードなどの一部のプロパティは、Oracle Object Storageデータ・サーバーから取得されます。必要に応じて一時ローカル・ファイルを作成する場合、その場所は、TEMP_SCHEMA KMオプションを使用して定義できます。これらの一時オブジェクト記憶域ファイルは、新しいODIクリーンアップ・ツールを使用して削除できます。変換コンポーネントを使用する場合、それらをソース実行ユニットに移動する必要があります(SQLがソースの場合)。ソースとしてのファイルでは、ソース変換がサポートされず、同様にターゲットでも変換はサポートされません。

マッピングまたはチェック用に選択したKMによって、このマッピングまたはチェックの機能およびパフォーマンスが決まります。ここで示す推奨事項は、Oracle Object Storageデータ・サーバーに関連する様々な状況でのKMの選択に役立ちます。

29.7 統合プロジェクトの設定

Oracle Object Storageテクノロジを使用してプロジェクトを設定するには、標準の手順に従います。『Oracle Data Integratorでの統合プロジェクトの開発』の統合プロジェクトの作成に関する項を参照してください。

次のナレッジ・モジュールを使用して、Oracle Object Storageにデータをロードできます。

29.7.1 LKM File to Oracle Object Storage

このLKMは、ローカルまたはHDFSファイルからOracle Object Storageへデータをアップロードします。ファイルの名前とその構造は、同じままです。データの変換は実行できません。このLKMは、ステージング領域の物理ノードで使用されます。

このKMは、ODIツールのOdiObjectStorageUploadを起動し、ファイルをOracle Object Storageにアップロードします。

たとえば — OdiObjectStorageUpload "-TRG_LOGICAL_SCHEMA=Object Storage - SRC1" "-SRC_LOGICAL_SCHEMA=FILE_GENERIC_TMP" "-FILE_NAMES_FILTER=person_upload.csv" "-OVERWRITE=true"

このKMのオプションは次のとおりです。

  • CLEANUP_TEMPORARY_OBJECTS— 一時オブジェクトをクリーンアップします。

    作成された一時オブジェクトを自動的にクリーンアップする場合、このプロパティをTrueに設定します。

29.7.2 LKM File to Oracle Object Storage Direct

このLKMは、ローカルまたはHDFSファイルをOracle Object Storageターゲットへ直接アップロードします。ファイルの名前とその構造は、同じままです。データの変換は実行できません。

このKMは、ODIツールのOdiObjectStorageUploadを起動し、ファイルをOracle Object Storageにアップロードします。

たとえば — OdiObjectStorageUpload "-TRG_LOGICAL_SCHEMA=Object Storage - SRC1" "-SRC_LOGICAL_SCHEMA=FILE_GENERIC_TMP" "-FILE_NAMES_FILTER=person_upload.csv" "-OVERWRITE=true"

このKMのオプションは次のとおりです。

  • CLEANUP_TEMPORARY_OBJECTS— 作成された一時オブジェクトをクリーンアップするために使用します。作成された一時オブジェクトを自動的にクリーンアップする場合、このプロパティをTrueに設定します。

  • OVERWRITE_TARGET_FILE — ターゲット・ファイルを上書きするために使用します。Trueに設定すると、Oracle Object Storageターゲット・ファイルが上書きされます。

  • ADD_COMPRESSION— ロードする前にデータを圧縮するために使用します。Oracle Object Storageにロードする前にソース・データを圧縮する場合、このプロパティをTrueに設定します。追加オプションのCOMPRESSION_TYPEおよびKEEP_SOURCE_FILESを使用して、圧縮プリファレンスを定義します。

  • COMPRESSION_TYPE— 圧縮タイプを定義するために使用します。Oracle Object Storageにロードする前にソース・データに適用する圧縮タイプを選択します。

  • KEEP_SOURCE_FILES— 圧縮後も元のソース・ファイルを維持するために使用します。ターゲット・ファイルを圧縮して元のファイルを維持する場合、このプロパティをTrue (デフォルト)に設定します。

    ノート:

    gzipでは、バージョン1.6以上でのみ、KEEP_SOURCE_FILESオプションがサポートされます。

29.7.3 LKM SQL to Object Storage

このLKMは、SQL問合せの結果をOracle Object Storageへアップロードします。ソースでの変換のみがサポートされます。SQLデータは、一時ローカル・ファイルにアンロードされ、次にオブジェクト記憶域にアップロードされます。一時ファイルの場所は、TEMP_SCHEMA KMオプションを使用して指定します。このLKMは、ステージング領域の物理ノードで使用されます。

このKMは、ODIツールのOdiSqlUnloadを起動してSQL問合せデータをファイルにアンロードし、OdiObjectStorageUploadを起動してファイルをOracle Object Storageにアップロードします。

次にこれらのツールの例を示します。

  • OdiSqlUnload

    OdiSqlUnload "-FILE=/tmp/person_upload.csv" "-DRIVER=oracle.jdbc.OracleDriver" "-URL=jdbc:oracle:thin:@//slc03sap:1521/flex" "-USER=system" "-PASS=<@=odiRef.getInfo("SRC_ENCODED_PASS") @>" "-FILE_FORMAT=VARIABLE" "-FIELD_SEP=," "-ROW_SEP=
    
    " "-DATE_FORMAT=yyyy/MM/dd HH:mm:ss" "-CHARSET_ENCODING=ISO8859_1" "-FETCH_SIZE=2"
    
    SELECT
      PER.PID AS PID ,
      PER.PNAME AS PNAME   
    FROM
      UT_TD_D_1.PERSON PER  
    WHERE
      (PER.PID = 2)
  • OdiObjectStorageUpload
    OdiObjectStorageUpload "-TRG_LOGICAL_SCHEMA=Object Storage - SRC1" "-SRC_LOGICAL_SCHEMA=FILE_GENERIC_TMP" "-FILE_NAMES_FILTER=person_upload.csv" "-OVERWRITE=true"

このKMのオプションは次のとおりです。

  • CLEANUP_TEMPORARY_OBJECTS— 作成された一時オブジェクトをクリーンアップするために使用します。作成された一時オブジェクトを自動的にクリーンアップする場合、このプロパティをTrueに設定します。

  • TEMP_SCHEMA — Oracle Object Storageへのデータのアップロード前に格納される一時ファイルの場所を定義する論理スキーマの名前を指定するために使用します。これは、ファイル・テクノロジの論理スキーマです。一時ファイルは、ODIエージェントが実行されているローカル・ファイル・システムに格納されます。

  • DATE_FORMAT — 日付データ型に使用する出力書式を指定します。

  • CHARSET_ENCODING — 文字セットのエンコーディングを指定します。

  • FETCH_SIZE — ODIエージェントがデータ・サーバーとの1回の通信でリクエストする行(読み取るレコード)の数を指定します。

29.7.4 LKM SQL to Oracle Object Storage Direct

このLKMは、SQL問合せの結果をOracle Object Storageへアップロードします。ソースでの変換のみがサポートされます。SQLデータは、一時ローカル・ファイルにアンロードされ、次にOracle Object Storageにアップロードされます。一時ファイルの場所は、TEMP_SCHEMA KMオプションを使用して指定します。データは、区切り、固定またはXMLの各形式でアップロードできます。このLKMは、透過ターゲットKMです(ターゲットにデータを直接ロードします)。これは、ターゲット実行ユニットのAPノードに割り当てる必要があります。

このKMは、ODIツールのOdiSqlUnloadを起動してSQL問合せデータをファイルにアンロードし、OdiObjectStorageUploadを起動してファイルをアップロードします。

次にこれらのツールの例を示します。

  • OdiSqlUnload

    OdiSqlUnload "-FILE=/tmp/person_upload.csv" "-DRIVER=oracle.jdbc.OracleDriver" "-URL=jdbc:oracle:thin:@//slc03sap:1521/flex" "-USER=system" "-PASS=<@=odiRef.getInfo("SRC_ENCODED_PASS") @>" "-FILE_FORMAT=VARIABLE" "-FIELD_SEP=," "-ROW_SEP=
    
    " "-DATE_FORMAT=yyyy/MM/dd HH:mm:ss" "-CHARSET_ENCODING=ISO8859_1" "-FETCH_SIZE=2"
    
    SELECT
      PER.PID AS PID ,
      PER.PNAME AS PNAME   
    FROM
      UT_TD_D_1.PERSON PER  
    WHERE
      (PER.PID = 2)
  • OdiObjectStorageUpload

    OdiObjectStorageUpload "-TRG_LOGICAL_SCHEMA=Object Storage - SRC1" "-SRC_LOGICAL_SCHEMA=FILE_GENERIC_TMP" "-FILE_NAMES_FILTER=person_upload.csv" "-OVERWRITE=true"

このKMのオプションは次のとおりです。

  • CLEANUP_TEMPORARY_OBJECTS— 作成された一時オブジェクトをクリーンアップするために使用します。作成された一時オブジェクトを自動的にクリーンアップする場合、このプロパティをTrueに設定します。

  • OVERWRITE_TARGET_FILE— ターゲット・ファイルを上書きするために使用します。Trueに設定すると、Oracle Object Storageターゲット・ファイルが上書きされます。

  • TEMP_SCHEMA — Oracle Object Storageへのデータのアップロード前に格納される一時ファイルの場所を定義する論理スキーマの名前を指定するために使用します。これは、ファイル・テクノロジの論理スキーマです。一時ファイルは、ODIエージェントが実行されているローカル・ファイル・システムに格納されます。

  • DATE_FORMAT — 日付データ型に使用する出力書式を指定します。

  • STORE_AS_XML — データをXMLファイルとして格納するために使用します。Oracle Object StorageにデータをXMLファイルとして格納する場合、このプロパティをtrueに設定します。

  • CHARSET_ENCODING — 文字セットのエンコーディングを指定します。

  • XML_CHARSET_ENCODING— エクスポート・ファイルのXML宣言ヘッダーで示されている文字エンコーディングを指定します。

  • ADD_COMPRESSION — ロードする前にデータを圧縮するために使用します。Oracle Object Storageにロードする前にソース・データを圧縮する場合、このプロパティをTrueに設定します。追加オプションのCOMPRESSION_TYPEおよびKEEP_SOURCE_FILESを使用して、圧縮プリファレンスを定義します。

  • FETCH_SIZE — ODIエージェントがデータ・サーバーとの1回の通信でリクエストする行(読み取るレコード)の数を指定します。

  • COMPRESSION_TYPE — 圧縮タイプを指定するために使用します。Oracle Object Storageにロードする前にソース・データに適用する圧縮タイプを選択します。

  • KEEP_SOURCE_FILES — 圧縮後も元のソース・ファイルを維持するために使用します。ターゲット・ファイルを圧縮して元のファイルを維持する場合、このプロパティをTrue (デフォルト)に設定します。

    ノート:

    gzipでは、バージョン1.6以上でのみ、KEEP_SOURCE_FILESオプションがサポートされます。