この章では、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データベースへのデータのロード」を参照してください |
Hadoopのコンテキストでは、Hadoop分散ファイルシステム(HDFS)のファイルとローカル・ファイル(HDFS外のファイル)は区別されます。
データソースを定義する手順は次のとおりです。
Hiveシステムに接続するために、Oracle Data Integratorで次の手順を行う必要があります。Oracle Data IntegratorではJDBCを使用してHiveに接続します。
前提条件
Hiveテクノロジが標準のOracle Data Integratorテクノロジに含まれている必要があります。そうでない場合は、INSERT_UPDATE
モードでxml-reference
ディレクトリからテクノロジをインポートします。
Hive固有のフレックス・フィールドをすべて追加する必要があります。
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表が、Hiveデータ・モデルに含まれます。
HBaseシステムに接続するには、Oracle Data Integratorで次の手順を行う必要があります。
前提条件
HBaseテクノロジが標準のOracle Data Integratorテクノロジに含まれている必要があります。そうでない場合は、INSERT_UPDATE
モードでxml-referenceディレクトリからテクノロジをインポートします。
HBase固有のフレックス・フィールドをすべて追加する必要があります。
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データ・モデルに含まれます。
統合プロジェクトで使用する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)
リバースエンジニアリングされたHive、HBaseおよびHDFSモデルからODIモデルを作成する必要があります。リバース・エンジニアリング・プロセスでは、対応するHiveおよびHBase表に対するHiveおよびHBaseデータ・ストアが作成されます。これらのデータ・ストアをマッピングのソースまたはターゲットとして使用できます。
この項では、次の項目について説明します。
Hive、HBaseまたはHDFSをホストするテクノロジに基づくモデルや、HiveやHBase、HDFSの接続を構成したときに作成された論理スキーマに基づくモデルを作成するには、『Oracle Data Integratorでの統合プロジェクトの開発』で説明されている標準の手順に従います。
第4.6項「リバースエンジニアリングされたHive、HBaseおよびHDFSモデルからのOracle Data Integratorモデルの作成」
Hive表およびビューのリバース・エンジニアリングには、RKM Hiveが使用されます。Hive RKMを使用してHive表のカスタマイズされたリバースエンジニアリングを実行するには、『Oracle Data Integratorでの統合プロジェクトの開発』の説明に従って、通常の手順を使用します。このトピックでは、Hive表に固有の情報の詳細を示します。
リバースエンジニアリング・プロセスでは、対応するHive表またはビューに対するデータストアが作成されます。データ・ストアをマッピングのソースまたはターゲットとして使用できます。
RKM Hiveの詳細は、第A.18項「RKM Hive」を参照してください。
表4-2に、作成されるフレックス・フィールドを示します。
表4-2 リバースエンジニアリングされたHive表およびビューのフレックス・フィールド
オブジェクト | フレックス・フィールド名 | フレックス・フィールド・コード | フレックス・フィールド・タイプ | 説明 |
---|---|---|---|---|
DataStore |
|
文字列 |
クラスタ化に使用されるバケットの数 |
|
Column |
Hiveパーティション列 |
|
数値 |
パーティション化列はすべて"1"とマークされます。パーティション情報は、次のものから取得されます。
|
Column |
Hiveクラスタ列 |
|
数値 |
クラスタ列はすべて"1"とマークされます。 |
Column |
Hiveソート列 |
|
数値 |
ソート列はすべて"1"とマークされます。 |
第4.6項「リバースエンジニアリングされたHive、HBaseおよびHDFSモデルからのOracle Data Integratorモデルの作成」
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 |
|
文字列 |
Zookeeperノードのカンマ区切りリスト。HBaseクライアントはこれを使用して、HBaseマスター・サーバーおよびHBaseリージョン・サーバーを検出します。 |
|
Column |
HBase記憶域タイプ |
|
文字列 |
データ型が物理的にHBaseに格納される方法を定義します。 指定できる値は、 |
第4.6項「リバースエンジニアリングされたHive、HBaseおよびHDFSモデルからのOracle Data Integratorモデルの作成」
HDFSファイルは標準ファイルのようにリバース・エンジニアリングできます。HDFSファイルをリバースエンジニアリングするには、標準ファイルをリバースエンジニアリングするのと同じプロセスに従う必要があります。
詳細は、Oracle Data Integrator接続およびナレッジ・モジュール・ガイドのファイル・モデルのリバースエンジニアリングを参照してください。
第4.6項「リバースエンジニアリングされたHive、HBaseおよびHDFSモデルからのOracle Data Integratorモデルの作成」
ローカル・ファイル・システムまたはHDFSファイル・システムからHive表にデータをロードする手順は次のとおりです。
ローカル・ファイルおよびHDFSファイルのデータ・ストアを作成します。
ローカル・ファイル・データソースのリバース・エンジニアリングおよび構成の詳細は、『Oracle Data Integrator接続およびナレッジ・モジュール・ガイド』を参照してください。
ソースとしてファイル・データ・ストアを、ターゲットとして対応するHive表を使用して、マッピングを作成します。
マッピングの物理ダイアグラムで指定されているLKM File to Hive LOAD DATAまたはLKM File to Hive LOAD DATA Directナレッジ・モジュールを使用します。
これらの統合ナレッジ・モジュールは、フラット・ファイルからHiveにデータをロードし、既存のデータを置換または追加します。
KMの詳細は、次の項を参照してください。
Hive表からローカル・ファイル・システムまたはHDFSファイルにデータをロードする手順は、次のとおりです。
フラット・ファイルにロードするHive表のデータ・ストアを作成します。
Hiveデータソースのリバース・エンジニアリングおよび構成の詳細は、「Hiveデータソースの設定」を参照してください。
ソースとしてHiveデータ・ストアを、ターゲットとして対応するファイル・データ・ソースを使用して、マッピングを作成します。
マッピングの物理ダイアグラムで指定されているLKM Hive to File Directナレッジ・モジュールを使用します。
この統合ナレッジ・モジュールは、Hiveからフラット・ファイルにデータをロードします。
LKM Hive to File Directの詳細は、第A.12項「LKM Hive to File Direct」を参照してください。
HBase表からHiveにデータをロードする手順は次のとおりです。
HiveにロードするHBase表のデータ・ストアを作成します。
HBaseデータソースのリバース・エンジニアリングおよび構成の詳細は、「HBaseデータソースの設定」を参照してください。
ソースとしてHBaseデータ・ストアを、ターゲットとして対応するHive表を使用して、マッピングを作成します。
マッピングの物理ダイアグラムで指定されているLKM HBase to Hive HBASE-SERDEナレッジ・モジュールを使用します。
このナレッジ・モジュールは、HiveからHBase表への読取りアクセスを提供します。
LKM HBase to Hive HBASE-SERDEの詳細は、第A.10項「LKM HBase to Hive HBASE-SERDE」を参照してください。
Hive表からHBaseにデータをロードする手順は次のとおりです。
HBaseにロードするHive表のデータ・ストアを作成します。
Hiveデータソースのリバース・エンジニアリングおよび構成の詳細は、「Hiveデータソースの設定」を参照してください。
ソースとしてHiveデータ・ストアを、ターゲットとして対応するHBase表を使用して、マッピングを作成します。
マッピングの物理ダイアグラムで指定されている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」を参照してください。
SQLデータベースからHive、HBaseおよびファイル・ターゲットにデータをロードする手順は次のとおりです。
Hive、HBaseまたはファイル・ターゲットにロードするSQLソースのデータ・ストアを作成します。
SQLデータソースのリバース・エンジニアリングおよび構成の詳細は、『Oracle Data Integrator接続およびナレッジ・モジュール・ガイド』を参照してください。
ソースとしてSQLソース・データ・ストアを、ターゲットとして対応するHBase表、Hive表またはHDFSファイルを使用して、マッピングを作成します。
マッピングの物理ダイアグラムで指定されている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) [非推奨]」を参照してください。
SQLデータベースからHiveターゲットにデータをロードする手順は、次のとおりです。
HiveターゲットにロードするSQLソースのデータ・ストアを作成します。
SQLデータソースのリバース・エンジニアリングおよび構成の詳細は、『Oracle Data Integrator接続およびナレッジ・モジュール・ガイド』を参照してください。
ソースとしてSQLソース・データ・ストアを、ターゲットとして対応するHive表を使用して、マッピングを作成します。
マッピングの物理ダイアグラムで指定されているLKM SQL to Hive SQOOPナレッジ・モジュールを使用します。
このKMは、データをSQLソースからHiveにロードします。HiveへのデータのロードにはSQOOPが使用されます。SQOOPは、パラレルなJDBC接続を使用してデータをロードします。
LKM SQL to Hive SQOOPの詳細は、第A.1項「LKM SQL to Hive SQOOP」を参照してください。
SQLデータベースからファイル・ターゲットにデータをロードする手順は、次のとおりです。
ファイル・ターゲットにロードするSQLソースのデータ・ストアを作成します。
SQLデータソースのリバース・エンジニアリングおよび構成の詳細は、『Oracle Data Integrator接続およびナレッジ・モジュール・ガイド』を参照してください。
ソースとしてSQLソース・データ・ストアを、ターゲットとして対応するHDFSファイルを使用して、マッピングを作成します。
マッピングの物理ダイアグラムで指定されている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) [非推奨]」を参照してください。
SQLデータベースからHBaseターゲットにデータをロードする手順は、次のとおりです。
HBaseターゲットにロードするSQLソースのデータ・ストアを作成します。
SQLデータソースのリバース・エンジニアリングおよび構成の詳細は、『Oracle Data Integrator接続およびナレッジ・モジュール・ガイド』を参照してください。
ソースとしてSQLソース・データ・ストアを、ターゲットとして対応するHBase表を使用して、マッピングを作成します。
マッピングの物理ダイアグラムで指定されている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」を参照してください。
データがHiveにロードされた後は、次のナレッジ・モジュールを使用してデータを検証および変換できます。
IKM Hive Control Append
詳細は、第A.7項「IKM Hive Append」を参照してください。
IKM Hive Append
詳細は、第A.7項「IKM Hive Append」を参照してください。
CKM Hive
詳細は、第A.25項「CKM Hive (非推奨)」を参照してください。
IKM Hive Transform
詳細は、第A.26項「IKM Hive Transform (非推奨)」を参照してください。
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」を参照してください。 |
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」を参照してください。 |