プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Data IntegratorによるBig Dataの統合
12c (12.2.1.2.0)
E82655-01
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

4 Hadoopデータの統合

この章では、Hadoopデータを統合するために実行する必要がある手順について説明します。

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

4.1 Hadoopデータの統合

次の表に、Hadoopデータを統合するための手順をまとめます。

表4-1 Hadoopデータの統合

手順 説明

データ・ソースの設定

データ・ソースを設定してデータ・ソース・モデルを作成します。ファイル・データ・ソース、HiveおよびHBaseデータ・ソースを設定する必要があります。

第4.2項「ファイル・データソースの設定」を参照してください

第4.3項「Hiveデータソースの設定」を参照してください

第4.4項「HBaseデータソースの設定」を参照してください

Hadoopナレッジ・モジュールのインポート

Hadoop KMをグローバル・オブジェクトまたはプロジェクトにインポートします。

第4.5項「Hadoopナレッジ・モジュールのインポート」を参照してください

Oracle Data Integratorモデルの作成

HiveおよびHBaseモデルをリバースエンジニアリングし、Oracle Data Integratorモデルを作成します。

第4.6項「リバースエンジニアリングされたHive、HBaseおよびHDFSモデルからのOracle Data Integratorモデルの作成」を参照してください

Hadoopデータの統合

Hadoopデータをロード、検証および変換するためのマッピングを設計します。

第4.7項「ファイルからHiveへのデータのロード」を参照してください

第4.9項「HBaseからHiveへのデータのロード」を参照してください

第4.10項「HiveからHBaseへのデータのロード」を参照してください

第4.11項「SQOOPの使用によるSQLデータベースからHive、HBaseおよびファイルへのデータのロード」を参照してください

第4.15項「Hive内のデータの検証と変換」を参照してください

第4.16項「HiveおよびファイルからOracleデータベースへのデータのロード」を参照してください

第4.17項「SQOOPの使用によるHBase、HiveおよびファイルからSQLデータベースへのデータのロード」を参照してください


4.2 ファイル・データソースの設定

Hadoopのコンテキストでは、Hadoop分散ファイルシステム(HDFS)のファイルとローカル・ファイル(HDFS外のファイル)は区別されます。

データソースを定義する手順は次のとおりです。

  1. ファイル・テクノロジに基づくデータ・サーバー・オブジェクトを作成します。

  2. アクセスされるディレクトリごとに物理スキーマ・オブジェクトを作成します。

  3. アクセスされるディレクトリごとに論理スキーマ・オブジェクトを作成します。

  4. 各論理スキーマのモデルを作成します。

  5. ファイルおよびワイルドカード名のパターンごとに1つ以上のデータストアを作成します。

  6. HDFSファイルの場合、「JDBC URL」フィールドにHDFS名のノードを入力して、ファイル・テクノロジに基づくデータ・サーバー・オブジェクトを作成し、「JDBCドライバ名」は空のままにしておきます。例:

    hdfs://bda1node01.example.com:8020
    

    このデータ・サーバー構成では、テスト接続はサポートされていません。


    注意:

    HDFSファイルに専用テクノロジは定義されていません。

第4.1項「Hadoopデータの統合」

4.3 Hiveデータソースの設定

Hiveシステムに接続するために、Oracle Data Integratorで次の手順を行う必要があります。Oracle Data IntegratorではJDBCを使用してHiveに接続します。

前提条件

Hiveテクノロジが標準のOracle Data Integratorテクノロジに含まれている必要があります。そうでない場合は、INSERT_UPDATEモードでxml-referenceディレクトリからテクノロジをインポートします。

Hive固有のフレックス・フィールドをすべて追加する必要があります。

Hiveデータソースを設定する手順は次のとおりです。

  1. Hiveテクノロジに基づくデータ・サーバー・オブジェクトを作成します。

  2. JDBC下に次の場所を設定します。

    JDBCドライバ: weblogic.jdbc.hive.HiveDriver

    JDBC URL: jdbc:weblogic:hive://<host>:<port>[; property=value[;...]]

    たとえば、次のようになります。jdbc:weblogic:hive://localhost:10000;DatabaseName=default;User=default;Password=default


    注意:

    通常、ユーザーIDとパスワードは、ODIデータ・サーバーの対応するフィールドに入力されます。Hiveユーザーがパスワードを指定せずに定義される場合、JDBC URLの一部としてpassword=defaultを追加する必要があり、データ・サーバーのパスワード・フィールドは空白のままにします。

  3. フレックスフィールド下で次の設定を行います。

    HiveメタストアURI: thrift://BDA:10000など

  4. Hiveサーバーが稼働していることを確認します。

  5. データ・サーバーへの接続をテストします。

  6. 物理スキーマを作成します。物理スキーマ定義の両方のスキーマ・フィールドに、Hiveスキーマの名前を入力します。

  7. 論理スキーマ・オブジェクトを作成します。

  8. RKM Hiveをグローバル・オブジェクトまたはプロジェクトにインポートします。

  9. 論理スキーマを指す、Hiveテクノロジ用の新規モデルを作成します。

  10. RKM Hiveを使用して、カスタム・リバースエンジニアリング操作を実行します。

このプロセスの終了時に、列、パーティション化およびクラスタ化の詳細がフレックス・フィールド値として格納されたすべてのHive表が、Hiveデータ・モデルに含まれます。

第4.1項「Hadoopデータの統合」

4.4 HBaseデータソースの設定

HBaseシステムに接続するには、Oracle Data Integratorで次の手順を行う必要があります。

前提条件

HBaseテクノロジが標準のOracle Data Integratorテクノロジに含まれている必要があります。そうでない場合は、INSERT_UPDATEモードでxml-referenceディレクトリからテクノロジをインポートします。

HBase固有のフレックス・フィールドをすべて追加する必要があります。

HBaseデータソースを設定する手順は次のとおりです。

  1. HBaseテクノロジに基づくデータ・サーバー・オブジェクトを作成します。

    このテクノロジのデータ・サーバーでは、JDBCドライバおよびURLは使用できません。

  2. フレックスフィールド下で次の設定を行います。

    HBase定足数: HBaseインストールの定足数。例: zkhost1.mydomain.com,zkhost2.mydomain.com,zkhost3.mydomain.com

  3. HBaseサーバーが稼働していることを確認します。


    注意:

    HBaseデータ・サーバーへの接続をテストすることはできません。

  4. 物理スキーマを作成します。

  5. 論理スキーマ・オブジェクトを作成します。

  6. RKM HBaseをグローバル・オブジェクトまたはプロジェクトにインポートします。

  7. 論理スキーマを指す、HBaseテクノロジ用の新規モデルを作成します。

  8. RKM HBaseを使用して、カスタム・リバースエンジニアリング操作を実行します。


    注意:

    リバースエンジニアリングを実行する前に。HBase表にデータが含まれていることを確認します。HBase表が空の場合、リバースエンジニアリング操作は機能しません。

このプロセスの終了時に、すべてのHBase表およびその列とデータ型がHBaseデータ・モデルに含まれます。

第4.1項「Hadoopデータの統合」

4.5 Hadoopナレッジ・モジュールのインポート

統合プロジェクトで使用するKMをインポートする必要があります。

次のKMをグローバル・オブジェクトまたはプロジェクトにインポートします。

  • IKM Hive Control Append

  • CKM Hive

  • RKM Hive

  • RKM HBase

  • IKM Hive Transform

  • IKM File-Hive to Oracle (OLH-OSCH)

  • IKM File-Hive to SQL (SQOOP)

  • IKM SQL to Hive-HBase-File (SQOOP)

第4.1項「Hadoopデータの統合」

4.6 リバースエンジニアリングされたHive、HBaseおよびHDFSモデルからのOracle Data Integratorモデルの作成

リバースエンジニアリングされたHive、HBaseおよびHDFSモデルからODIモデルを作成する必要があります。リバース・エンジニアリング・プロセスでは、対応するHiveおよびHBase表に対するHiveおよびHBaseデータ・ストアが作成されます。これらのデータ・ストアをマッピングのソースまたはターゲットとして使用できます。

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

4.6.1 モデルの作成

Hive、HBaseまたはHDFSをホストするテクノロジに基づくモデルや、HiveやHBase、HDFSの接続を構成したときに作成された論理スキーマに基づくモデルを作成するには、『Oracle Data Integratorでの統合プロジェクトの開発』で説明されている標準の手順に従います。

第4.6項「リバースエンジニアリングされたHive、HBaseおよびHDFSモデルからのOracle Data Integratorモデルの作成」

4.6.2 Hive表のリバース・エンジニアリング

Hive表およびビューのリバース・エンジニアリングには、RKM Hiveが使用されます。Hive RKMを使用してHive表のカスタマイズされたリバースエンジニアリングを実行するには、『Oracle Data Integratorでの統合プロジェクトの開発』の説明に従って、通常の手順を使用します。このトピックでは、Hive表に固有の情報の詳細を示します。

リバースエンジニアリング・プロセスでは、対応するHive表またはビューに対するデータストアが作成されます。データ・ストアをマッピングのソースまたはターゲットとして使用できます。

RKM Hiveの詳細は、第A.18項「RKM Hive」を参照してください。

表4-2に、作成されるフレックス・フィールドを示します。

表4-2 リバースエンジニアリングされたHive表およびビューのフレックス・フィールド

オブジェクト フレックス・フィールド名 フレックス・フィールド・コード フレックス・フィールド・タイプ 説明

DataStore

Hiveバケット

HIVE_BUCKETS

文字列

クラスタ化に使用されるバケットの数

Column

Hiveパーティション列

HIVE_PARTITION_COLUMN

数値

パーティション化列はすべて"1"とマークされます。パーティション情報は、次のものから取得されます。

  • マップされたソース列

  • ターゲット列に指定された定数値

  • ファイル名フラグメント

Column

Hiveクラスタ列

HIVE_CLUSTER_COLUMN

数値

クラスタ列はすべて"1"とマークされます。

Column

Hiveソート列

HIVE_SORT_COLUMN

数値

ソート列はすべて"1"とマークされます。


第4.6項「リバースエンジニアリングされたHive、HBaseおよびHDFSモデルからのOracle Data Integratorモデルの作成」

4.6.3 HBase表のリバース・エンジニアリング

HBase表のリバース・エンジニアリングには、RKM HBaseが使用されます。RKM HBaseを使用してHBase表のカスタマイズされたリバースエンジニアリングを実行するには、『Oracle Data Integratorでの統合プロジェクトの開発』の説明に従って、通常の手順を使用します。このトピックでは、HBase表に固有の情報の詳細を示します。

リバースエンジニアリング・プロセスでは、対応するHBase表のデータ・ストアが作成されます。データ・ストアをマッピングのソースまたはターゲットとして使用できます。


注意:

リバースエンジニアリングを実行する前に。HBase表にデータが含まれていることを確認します。HBase表が空の場合、リバースエンジニアリング操作は機能しません。

RKM HBaseの詳細は、第A.19項「RKM HBase」を参照してください。

表4-3に、作成されるフレックス・フィールドを示します。

表4-3 リバースエンジニアリングされたHBase表のフレックス・フィールド

オブジェクト フレックス・フィールド名 フレックス・フィールド・コード フレックス・フィールド・タイプ 説明

DataStore

HBase定数

HBASE_QUORUM

文字列

Zookeeperノードのカンマ区切りリスト。HBaseクライアントはこれを使用して、HBaseマスター・サーバーおよびHBaseリージョン・サーバーを検出します。

Column

HBase記憶域タイプ

HBASE_STORAGE_TYPE

文字列

データ型が物理的にHBaseに格納される方法を定義します。

指定できる値は、BinaryおよびString (デフォルト)です。


第4.6項「リバースエンジニアリングされたHive、HBaseおよびHDFSモデルからのOracle Data Integratorモデルの作成」

4.6.4 HDFSファイルのリバース・エンジニアリング

HDFSファイルは標準ファイルのようにリバース・エンジニアリングできます。HDFSファイルをリバースエンジニアリングするには、標準ファイルをリバースエンジニアリングするのと同じプロセスに従う必要があります。

詳細は、Oracle Data Integrator接続およびナレッジ・モジュール・ガイドファイル・モデルのリバースエンジニアリングを参照してください。

第4.6項「リバースエンジニアリングされたHive、HBaseおよびHDFSモデルからのOracle Data Integratorモデルの作成」

4.7 ファイルからHiveへのデータのロード

ローカル・ファイル・システムまたはHDFSファイル・システムからHive表にデータをロードする手順は次のとおりです。

  1. ローカル・ファイルおよびHDFSファイルのデータ・ストアを作成します。

    ローカル・ファイル・データソースのリバース・エンジニアリングおよび構成の詳細は、『Oracle Data Integrator接続およびナレッジ・モジュール・ガイド』を参照してください。

  2. ソースとしてファイル・データ・ストアを、ターゲットとして対応するHive表を使用して、マッピングを作成します。

  3. マッピングの物理ダイアグラムで指定されているLKM File to Hive LOAD DATAまたはLKM File to Hive LOAD DATA Directナレッジ・モジュールを使用します。

    これらの統合ナレッジ・モジュールは、フラット・ファイルからHiveにデータをロードし、既存のデータを置換または追加します。

KMの詳細は、次の項を参照してください。

4.8 Hiveからファイルへのデータのロード

Hive表からローカル・ファイル・システムまたはHDFSファイルにデータをロードする手順は、次のとおりです。

  1. フラット・ファイルにロードするHive表のデータ・ストアを作成します。

    Hiveデータソースのリバース・エンジニアリングおよび構成の詳細は、「Hiveデータソースの設定」を参照してください。

  2. ソースとしてHiveデータ・ストアを、ターゲットとして対応するファイル・データ・ソースを使用して、マッピングを作成します。

  3. マッピングの物理ダイアグラムで指定されているLKM Hive to File Directナレッジ・モジュールを使用します。

    この統合ナレッジ・モジュールは、Hiveからフラット・ファイルにデータをロードします。

    LKM Hive to File Directの詳細は、第A.12項「LKM Hive to File Direct」を参照してください。

4.9 HBaseからHiveへのデータのロード

HBase表からHiveにデータをロードする手順は次のとおりです。

  1. HiveにロードするHBase表のデータ・ストアを作成します。

    HBaseデータソースのリバース・エンジニアリングおよび構成の詳細は、「HBaseデータソースの設定」を参照してください。

  2. ソースとしてHBaseデータ・ストアを、ターゲットとして対応するHive表を使用して、マッピングを作成します。

  3. マッピングの物理ダイアグラムで指定されているLKM HBase to Hive HBASE-SERDEナレッジ・モジュールを使用します。

    このナレッジ・モジュールは、HiveからHBase表への読取りアクセスを提供します。

LKM HBase to Hive HBASE-SERDEの詳細は、第A.10項「LKM HBase to Hive HBASE-SERDE」を参照してください。

4.10 HiveからHbaseへのデータのロード

Hive表からHBaseにデータをロードする手順は次のとおりです。

  1. HBaseにロードするHive表のデータ・ストアを作成します。

    Hiveデータソースのリバース・エンジニアリングおよび構成の詳細は、「Hiveデータソースの設定」を参照してください。

  2. ソースとしてHiveデータ・ストアを、ターゲットとして対応するHBase表を使用して、マッピングを作成します。

  3. マッピングの物理ダイアグラムで指定されているLKM Hive to HBase Incremental Update HBASE-SERDE Directナレッジ・モジュールを使用します。

    この統合ナレッジ・モジュールは、HiveからHBaseにデータをロードし、新しい行の挿入および既存のデータの更新をサポートしています。

LKM Hive to HBase Incremental Update HBASE-SERDE Directの詳細は、第A.11項「LKM Hive to HBase Incremental Update HBASE-SERDE Direct」を参照してください。

4.11 SQOOPの使用によるSQLデータベースからHive、HBaseおよびファイルへのデータのロード

SQLデータベースからHive、HBaseおよびファイル・ターゲットにデータをロードする手順は次のとおりです。

  1. Hive、HBaseまたはファイル・ターゲットにロードするSQLソースのデータ・ストアを作成します。

    SQLデータソースのリバース・エンジニアリングおよび構成の詳細は、『Oracle Data Integrator接続およびナレッジ・モジュール・ガイド』を参照してください。

  2. ソースとしてSQLソース・データ・ストアを、ターゲットとして対応するHBase表、Hive表またはHDFSファイルを使用して、マッピングを作成します。

  3. マッピングの物理ダイアグラムで指定されているIKM SQL to Hive-HBase-File (SQOOP)ナレッジ・モジュールを使用します。

    この統合ナレッジ・モジュールは、SQLソースからHive、HBaseまたはファイル・ターゲットにデータをロードします。SQOOPを使用して、Hive、HBaseおよびファイル・ターゲットにデータをロードします。SQOOPは、パラレルなJDBC接続を使用してデータをロードします。

IKM SQL to Hive-HBase-File (SQOOP)の詳細は、第A.23項「IKM SQL to Hive-HBase-File (SQOOP) [非推奨]」を参照してください。

4.12 SQOOPの使用によるSQLデータベースからHiveへのデータのロード

SQLデータベースからHiveターゲットにデータをロードする手順は、次のとおりです。

  1. HiveターゲットにロードするSQLソースのデータ・ストアを作成します。

    SQLデータソースのリバース・エンジニアリングおよび構成の詳細は、『Oracle Data Integrator接続およびナレッジ・モジュール・ガイド』を参照してください。

  2. ソースとしてSQLソース・データ・ストアを、ターゲットとして対応するHive表を使用して、マッピングを作成します。

  3. マッピングの物理ダイアグラムで指定されているLKM SQL to Hive SQOOPナレッジ・モジュールを使用します。

    このKMは、データをSQLソースからHiveにロードします。HiveへのデータのロードにはSQOOPが使用されます。SQOOPは、パラレルなJDBC接続を使用してデータをロードします。

LKM SQL to Hive SQOOPの詳細は、第A.1項「LKM SQL to Hive SQOOP」を参照してください。

4.13 SQOOPの使用によるSQLデータベースからファイルへのデータのロード

SQLデータベースからファイル・ターゲットにデータをロードする手順は、次のとおりです。

  1. ファイル・ターゲットにロードするSQLソースのデータ・ストアを作成します。

    SQLデータソースのリバース・エンジニアリングおよび構成の詳細は、『Oracle Data Integrator接続およびナレッジ・モジュール・ガイド』を参照してください。

  2. ソースとしてSQLソース・データ・ストアを、ターゲットとして対応するHDFSファイルを使用して、マッピングを作成します。

  3. マッピングの物理ダイアグラムで指定されているLKM SQL to File SQOOP Directナレッジ・モジュールを使用します。

    この統合ナレッジ・モジュールは、SQLソースからファイル・ターゲットにデータをロードします。ファイル・ターゲットへのデータのロードにはSQOOPが使用されます。SQOOPは、パラレルなJDBC接続を使用してデータをロードします。

IKM SQL to Hive-HBase-File (SQOOP)の詳細は、第A.23項「IKM SQL to Hive-HBase-File (SQOOP) [非推奨]」を参照してください。

4.14 SQOOPの使用によるSQLデータベースからHBaseへのデータのロード

SQLデータベースからHBaseターゲットにデータをロードする手順は、次のとおりです。

  1. HBaseターゲットにロードするSQLソースのデータ・ストアを作成します。

    SQLデータソースのリバース・エンジニアリングおよび構成の詳細は、『Oracle Data Integrator接続およびナレッジ・モジュール・ガイド』を参照してください。

  2. ソースとしてSQLソース・データ・ストアを、ターゲットとして対応するHBase表を使用して、マッピングを作成します。

  3. マッピングの物理ダイアグラムで指定されているLKM SQL to HBase SQOOP Directナレッジ・モジュールを使用します。

    この統合ナレッジ・モジュールは、SQLソースからHBaseターゲットにデータをロードします。HBaseターゲットへのデータのロードにはSQOOPが使用されます。SQOOPは、パラレルなJDBC接続を使用してデータをロードします。

LKM SQL to HBase SQOOP Directの詳細は、第A.3項「LKM SQL to HBase SQOOP Direct」を参照してください。

4.15 Hive内のデータの検証と変換

データがHiveにロードされた後は、次のナレッジ・モジュールを使用してデータを検証および変換できます。

4.16 HiveおよびファイルからOracleデータベースへのデータのロード

Oracle Loader for Hadoopを使用してHDFSファイルまたはHiveソースからOracleデータベース・ターゲットにデータをロードするには、次の表にリストされているナレッジ・モジュールを使用します。

表4-4 データをOracle Databaseにロードするナレッジ・モジュール

ナレッジ・モジュール 用途...

IKM File-Hive to Oracle (OLH-OSCH)

Oracle Loader for Hadoopを使用して、HDFSファイルまたはHiveソースからOracleデータベース・ターゲットにデータをロードします。

詳細は、第A.27項「IKM File-Hive to Oracle (OLH-OSCH) [非推奨]」を参照してください。

LKM File to Oracle OLH-OSCH

Oracle Loader for Hadoopを使用して、HDFSファイルからOracleステージング表にデータをロードします。

詳細は、第A.14項「LKM File to Oracle OLH-OSCH」を参照してください。

LKM File to Oracle OLH-OSCH Direct

Oracle Loader for Hadoopを使用して、HDFSファイルからOracleデータベース・ターゲットにデータをロードします。

詳細は、第A.15項「LKM File to Oracle OLH-OSCH Direct」を参照してください。

LKM Hive to Oracle OLH-OSCH

Oracle Loader for Hadoopを使用して、HiveソースからOracleステージング表にデータをロードします。

詳細は、第A.16項「LKM Hive to Oracle OLH-OSCH」を参照してください。

LKM Hive to Oracle OLH-OSCH Direct

Oracle Loader for Hadoopを使用して、HiveソースからOracleデータベース・ターゲットにデータをロードします。

詳細は、第A.17項「LKM Hive to Oracle OLH-OSCH Direct」を参照してください。


4.17 SQOOPの使用によるHBase、HiveおよびファイルからSQLデータベースへのデータのロード

SQOOPを使用してHDFSファイル、HBaseソースまたはHiveソースからSQLデータベース・ターゲットにデータをロードするには、次の表にリストされているナレッジ・モジュールを使用します。

表4-5 データをSQL Databaseにロードするナレッジ・モジュール

ナレッジ・モジュール 用途...

IKM File-Hive to SQL (SQOOP)

SQOOPを使用して、HDFSファイルまたはHiveソースからSQLデータベース・ターゲットにデータをロードします。

詳細は、第A.28項「IKM File-Hive to SQL (SQOOP) [非推奨]」を参照してください。

LKM HBase to SQL SQOOP

SQOOPを使用して、HBaseソースからSQLデータベース・ターゲットにデータをロードします。

詳細は、第A.6項「LKM HBase to SQL SQOOP」を参照してください。

LKM File to SQL SQOOP

SQOOPを使用して、HDFSファイルからSQLデータベース・ターゲットにデータをロードします。

詳細は、第A.4項「LKM File to SQL SQOOP」を参照してください。

LKM Hive to SQL SQOOP

SQOOPを使用して、HiveソースからSQLデータベース・ターゲットにデータをロードします。

詳細は、第A.5項「LKM Hive to SQL SQOOP」を参照してください。