この章の内容は次のとおりです。
次の表に、Hadoopデータを統合するための手順をまとめます。
表4-1 Hadoopデータの統合
手順 | 説明 |
---|---|
データ・ソースの設定 |
データ・ソースを設定してデータ・ソース・モデルを作成します。ファイル・データソース、Hive、HDFSおよびHBaseデータソースを設定する必要があります。 「ファイル・データソースの設定」を参照してください。 「Hiveデータソースの設定」を参照してください。 「HBaseデータソースの設定」を参照してください。 「Kafkaデータソースの設定」を参照してください。 「Cassandraデータソースの設定」を参照してください。 「HDFSデータソースの設定」を参照してください。 |
Hadoopナレッジ・モジュールのインポート |
Hadoop KMをグローバル・オブジェクトまたはプロジェクトにインポートします。 「Hadoopナレッジ・モジュールのインポート」を参照してください。 |
Oracle Data Integratorモデルの作成 |
HiveおよびHBaseモデルをリバースエンジニアリングし、Oracle Data Integratorモデルを作成します。 「リバースエンジニアリングされたHive、HBaseおよびHDFSモデルからのOracle Data Integratorモデルの作成」を参照してください。 |
Hadoopデータの統合 |
Hadoopデータをロード、検証および変換するためのマッピングを設計します。 「ファイルからHiveへのデータのロード」を参照してください。 「HBaseからHiveへのデータのロード」を参照してください。 「HiveからHbaseへのデータのロード」を参照してください。 「SQOOPの使用によるSQLデータベースからHive、HBaseおよびファイルへのデータのロード」を参照してください。 「Hive内のデータの検証と変換」を参照してください。 「HiveおよびファイルからOracleデータベースへのデータのロード」を参照してください。 「SQOOPの使用によるHBase、HiveおよびファイルからSQLデータベースへのデータのロード」を参照してください。 「KafkaからSparkへのデータのロード」を参照してください。 「HDFSファイルからHiveへのデータのロード」を参照してください。 「HDFSファイルからSparkへのデータのロード」を参照してください。 「Hiveからファイルへのデータのロード」を参照してください。 |
Hadoopのコンテキストでは、Hadoop分散ファイルシステム(HDFS)のファイルとローカル・ファイル(HDFS外のファイル)は区別されます。
データソースを定義する手順は次のとおりです。
ファイル・テクノロジに基づくデータ・サーバー・オブジェクトを作成します。
アクセスされるディレクトリごとに論理スキーマ・オブジェクトを作成します。
各論理スキーマのモデルを作成します。
HDFSファイルの場合、「JDBC URL」フィールドにHDFS名のノードを入力して、ファイル・テクノロジに基づくデータ・サーバー・オブジェクトを作成し、「JDBCドライバ名」は空のままにしておきます。次に例を示します。
hdfs://bda1node01.example.com:8020
このデータ・サーバー構成では、テスト接続はサポートされていません。
注意:
HDFSファイルに専用テクノロジは定義されていません。
前提条件
Hiveテクノロジが標準のOracle Data Integratorテクノロジに含まれている必要があります。そうでない場合は、INSERT_UPDATE
モードでxml-reference
ディレクトリからテクノロジをインポートします。
Hiveデータソースを設定する手順は次のとおりです。
Hiveテクノロジに基づくデータ・サーバー・オブジェクトを作成します。
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
を追加する必要があり、データ・サーバーのパスワード・フィールドは空白のままにします。
データ・サーバーの「定義」タブで次の情報を設定します。
HiveメタストアURI: thrift://BDA:10000
など
Hiveサーバーが稼働していることを確認します。
データ・サーバーへの接続をテストします。
物理スキーマを作成します。物理スキーマ定義の両方のスキーマ・フィールドに、Hiveスキーマの名前を入力します。
論理スキーマ・オブジェクトを作成します。
RKM Hiveをグローバル・オブジェクトまたはプロジェクトにインポートします。
論理スキーマを指す、Hiveテクノロジ用の新規モデルを作成します。
RKM Hiveを使用して、カスタム・リバースエンジニアリング操作を実行します。
リバース・エンジニアリングされたHive表からデータがデータ・ストアの「属性」タブおよび「記憶域」タブに移入されます。
前提条件
HBaseテクノロジが標準のOracle Data Integratorテクノロジに含まれている必要があります。そうでない場合は、INSERT_UPDATE
モードでxml-referenceディレクトリからテクノロジをインポートします。
HBaseデータソースを設定する手順は次のとおりです。
HBaseテクノロジに基づくデータ・サーバー・オブジェクトを作成します。
このテクノロジのデータ・サーバーでは、JDBCドライバおよびURLは使用できません。
データ・サーバーの「定義」タブで次の情報を設定します。
HBase定足数: HBaseインストールの定足数。例: zkhost1.mydomain.com,zkhost2.mydomain.com,zkhost3.mydomain.com
HBaseサーバーが稼働していることを確認します。
注意:
HBaseデータ・サーバーへの接続をテストすることはできません。
物理スキーマを作成します。
論理スキーマ・オブジェクトを作成します。
RKM HBaseをグローバル・オブジェクトまたはプロジェクトにインポートします。
論理スキーマを指す、HBaseテクノロジ用の新規モデルを作成します。
RKM HBaseを使用して、カスタム・リバースエンジニアリング操作を実行します。
注意:
リバースエンジニアリングを実行する前に。HBase表にデータが含まれていることを確認します。HBase表が空の場合、リバースエンジニアリング操作は機能しません。
このプロセスの終了時に、すべてのHBase表およびその列とデータ型がHBaseデータ・モデルに含まれます。
このトピックでは、Kafkaシステムに接続するために必要なOracle Data Integratorでの手順を示します。
Kafkaテクノロジが標準のOracle Data Integratorテクノロジに含まれている必要があります。そうでない場合は、INSERT_UPDATE
モードでxml-referenceディレクトリからテクノロジをインポートします。
このトピックでは、Cassandraシステムに接続するために必要なOracle Data Integratorでの手順を示します。Oracle Data IntegratorではJDBCを使用してCassandraに接続します。
Cassandraテクノロジが標準のOracle Data Integratorテクノロジに含まれている必要があります。そうでない場合は、INSERT_UPDATE
モードでxml-referenceディレクトリからテクノロジをインポートします。
Cassandra固有のフレックス・フィールドをすべて追加する必要があります。
ビッグ・データ・ナレッジ・モジュールのほとんどは、製品に組み込まれています。RKMとCKMはその例外で、使用する前にプロジェクトにまたはグローバル・オブジェクトとしてインポートする必要があります。
CKM Hive
RKM Hive
RKM HBase
RKM Cassandra
リバースエンジニアリングされたHive、HBaseおよびHDFSモデルからODIモデルを作成する必要があります。リバース・エンジニアリング・プロセスでは、対応するHiveおよびHBase表に対するHiveおよびHBaseデータ・ストアが作成されます。これらのデータ・ストアをマッピングのソースまたはターゲットとして使用できます。
この項では、次の項目について説明します。
Hive、HBaseまたはHDFSをホストするテクノロジに基づくモデルや、HiveやHBase、HDFS、ファイルの接続を構成したときに作成された論理スキーマに基づくモデルを作成するには、『Oracle Fusion Middleware Oracle Data Integratorでの統合プロジェクトの開発』で説明されている標準の手順に従います。
下位互換性のため、ビッグ・データのLKMによるファイルからの読取り(LKM File to Hive LOAD DATA)では、HDFSからの読取りもサポートされていますが、ソース・データ・ストアはファイル・モデルに基づく必要があります。HDFSから読み取る場合は、LKM HDFS to File LOAD DATAなどのKMを使用する方が望ましいです。その場合、ソース・データ・ストアは、HDFSモデルに基づく必要があります。
Hive表およびビューのリバース・エンジニアリングには、RKM Hiveが使用されます。RKM Hiveを使用してHive表のカスタマイズされたリバースエンジニアリングを実行するには、『Oracle Fusion Middleware Oracle Data Integratorでの統合プロジェクトの開発』の説明に従って、通常の手順を使用します。このトピックでは、Hive表に固有の情報の詳細を示します。
リバースエンジニアリング・プロセスでは、対応するHive表またはビューに対するデータストアが作成されます。データ・ストアをマッピングのソースまたはターゲットとして使用できます。
RKM Hiveの詳細は、「RKM Hive」を参照してください。
「記憶域」タブがHiveデータ・ストアに追加され、Hive内でのデータの格納および書式設定の方法に柔軟性があります。Hive表がすでに存在する場合は、Hiveモデルに対してリバース・エンジニアリング・プロセスを使用し、カスタムHive RKMを使用してフィールドにデータを移入できます。
HBase表のリバース・エンジニアリングには、RKM HBaseが使用されます。RKM HBaseを使用してHBase表のカスタマイズされたリバースエンジニアリングを実行するには、『Oracle Fusion Middleware Oracle Data Integratorでの統合プロジェクトの開発』の説明に従って、通常の手順を使用します。このトピックでは、HBase表に固有の情報の詳細を示します。
リバースエンジニアリング・プロセスでは、対応するHBase表のデータ・ストアが作成されます。データ・ストアをマッピングのソースまたはターゲットとして使用できます。
注意:
リバースエンジニアリングを実行する前に。HBase表にデータが含まれていることを確認します。HBase表が空の場合、リバースエンジニアリング操作は機能しません。
RKM HBaseの詳細は、「RKM HBase」を参照してください。
ファイル・テクノロジによるHDFSのリバース・エンジニアリング
注意:
ファイルがローカル・ファイル・システムに対して大きい場合、HDFSから最初のNレコードを取得して、ローカル・ファイルに格納します。HDFSテクノロジによるHDFSのリバース・エンジニアリング
HDFSファイルをリバース・エンジニアリングするには、次の手順を実行します。
HDFSデータ・ストアを作成します。
「記憶域」タブで、「記憶域形式」フィールドから選択し、対応するスキーマ・ファイルを「スキーマ・ファイル」フィールドに指定する必要があります。
HDFSデータ・ストアの「属性」タブで「リバース・エンジニアリング」操作をクリックします。
注意:
RKMをプロジェクトにインポートする必要はありません。HDFSファイルはFile to Hive、File to SparkなどのKMで使用され、その場合、ODIファイル・テクノロジがソースとして使用されます。HDFS LKM (LKM HDFS File to Hive)を使用することもでき、このようなKMではODI HDFSテクノロジが使用されます。
使用するKMによっては、ファイルに別のテクノロジを選択できます。HDFSのリバース・エンジニアリングでは、Avro、Json、Parquetおよびデリミタ付きの各形式がサポートされます。
詳細は、『Oracle Data Integrator接続およびナレッジ・モジュール・ガイド』のファイル・モデルのリバースエンジニアリングに関する項を参照してください。
リバースエンジニアリングされたHive、HBaseおよびHDFSモデルからのOracle Data Integratorモデルの作成
Cassandra表のリバース・エンジニアリングには、RKM Cassandraが使用されます。RKM Cassandraを使用してCassandra表のカスタマイズされたリバースエンジニアリングを実行するには、『Oracle Fusion Middleware Oracle Data Integratorでの統合プロジェクトの開発』の説明に従って、通常の手順を使用します。このトピックでは、Cassandra表に固有の情報の詳細を示します。
リバースエンジニアリング・プロセスでは、対応するCassandra表に対するデータ・ストアが作成されます。RKM Cassandraの詳細は、「RKM Cassandra」を参照してください。
KMでは、Loading Data from HDFSからのデータのロードがサポートされますが、望ましい方法はHDFS KMを使用することです(「HDFSファイルからHiveへのデータのロード」を参照)。
KMの詳細は、次の項を参照してください。
HBase表からHiveにデータをロードする手順は次のとおりです。
LKM HBase to Hive HBASE-SERDEの詳細は、「LKM HBase to Hive HBASE-SERDE」を参照してください。
LKM Hive to HBase Incremental Update HBASE-SERDE Directの詳細は、「LKM Hive to HBase Incremental Update HBASE-SERDE Direct」を参照してください。
SQLデータベースからHive、HBaseおよびファイル・ターゲットにデータをロードする手順は次のとおりです。
IKM SQL to Hive-HBase-File (SQOOP)の詳細は、「IKM SQL to Hive-HBase-File (SQOOP) [非推奨]」を参照してください。
SQLデータベースからHiveターゲットにデータをロードする手順は、次のとおりです。
LKM SQL to Hive SQOOPの詳細は、「LKM SQL to Hive SQOOP」を参照してください。
SQLデータベースからファイル・ターゲットにデータをロードする手順は、次のとおりです。
IKM SQL to Hive-HBase-File (SQOOP)の詳細は、「IKM SQL to Hive-HBase-File (SQOOP) [非推奨]」を参照してください。
SQLデータベースからHBaseターゲットにデータをロードする手順は、次のとおりです。
LKM SQL to HBase SQOOP Directの詳細は、「LKM SQL to HBase SQOOP Direct」を参照してください。
データがHiveにロードされた後は、次のナレッジ・モジュールを使用してデータを検証および変換できます。
IKM Hive Control Append
詳細は、「IKM Hive Append」を参照してください。
IKM Hive Append
詳細は、「IKM Hive Append」を参照してください。
IKM Hive Incremental Update
詳細は、「IKM Hive Incremental Update」を参照してください。
CKM Hive
詳細は、「CKM Hive (非推奨)」を参照してください。
IKM Hive Transform
詳細は、「IKM Hive Transform (非推奨)」を参照してください。
Oracle Loader for Hadoopを使用してHDFSファイルまたはHiveソースからOracleデータベース・ターゲットにデータをロードするには、次の表にリストされているナレッジ・モジュールを使用します。
表4-2 データをOracle Databaseにロードするナレッジ・モジュール
ナレッジ・モジュール | 用途 |
---|---|
IKM File-Hive to Oracle (OLH-OSCH) |
Oracle Loader for Hadoopを使用して、HDFSファイルまたはHiveソースからOracleデータベース・ターゲットにデータをロードします。 詳細は、「IKM File-Hive to Oracle (OLH-OSCH) [非推奨]」を参照してください。 |
LKM File to Oracle OLH-OSCH |
Oracle Loader for Hadoopを使用して、HDFSファイルからOracleステージング表にデータをロードします。 詳細は、「LKM File to Oracle OLH-OSCH」を参照してください。 |
LKM File to Oracle OLH-OSCH Direct |
Oracle Loader for Hadoopを使用して、HDFSファイルからOracleデータベース・ターゲットにデータをロードします。 詳細は、「LKM File to Oracle OLH-OSCH Direct」を参照してください。 |
LKM Hive to Oracle OLH-OSCH |
Oracle Loader for Hadoopを使用して、HiveソースからOracleステージング表にデータをロードします。 詳細は、「LKM Hive to Oracle OLH-OSCH」を参照してください。 |
LKM Hive to Oracle OLH-OSCH Direct |
Oracle Loader for Hadoopを使用して、HiveソースからOracleデータベース・ターゲットにデータをロードします。 詳細は、「LKM Hive to Oracle OLH-OSCH Direct」を参照してください。 |
SQOOPを使用してHDFSファイル、HBaseソースまたはHiveソースからSQLデータベース・ターゲットにデータをロードするには、次の表にリストされているナレッジ・モジュールを使用します。
表4-3 データをSQL Databaseにロードするナレッジ・モジュール
ナレッジ・モジュール | 用途 |
---|---|
IKM File-Hive to SQL (SQOOP) |
SQOOPを使用して、HDFSファイルまたはHiveソースからSQLデータベース・ターゲットにデータをロードします。 詳細は、「IKM File-Hive to SQL (SQOOP) [非推奨]」を参照してください。 |
LKM HBase to SQL SQOOP |
SQOOPを使用して、HBaseソースからSQLデータベース・ターゲットにデータをロードします。 詳細は、「LKM HBase to SQL SQOOP」を参照してください。 |
LKM File to SQL SQOOP |
SQOOPを使用して、HDFSファイルからSQLデータベース・ターゲットにデータをロードします。 詳細は、「LKM File to SQL SQOOP」を参照してください。 |
LKM Hive to SQL SQOOP |
SQOOPを使用して、HiveソースからSQLデータベース・ターゲットにデータをロードします。 詳細は、「LKM Hive to SQL SQOOP」を参照してください。 |