Oracle® Fusion Middleware Oracle Data Integratorアプリケーション・アダプタ・ガイド 12c (12.1.3) E59389-02 |
|
![]() 前 |
![]() 次 |
この章では、Oracle Data Integrator (ODI) Application Adapter for Hadoopでのナレッジ・モジュールの使用方法について説明します。
次のセクションがあります。
関連資料: 『Oracle Big Data Connectorsユーザーズ・ガイド』 |
Apache Hadoopは、リレーショナルでないデータソースからのデータや、リレーショナル・データベースで処理できないデータ・ボリュームを処理するように設計されています。
Oracle Data Integrator (ODI) Application Adapter for Hadoopを使用すると、データ統合開発者は、Oracle Data Integratorを使用してHadoop内でデータの統合と変換を簡単に行うことができます。このアプリケーション・アダプタでは、使い慣れて使いやすいツールおよびナレッジ・モジュール(KM)を採用することにより、次の機能を実現しています。
ローカル・ファイル・システム、HDFS、HBase (Hiveを使用)およびSQLデータベース(SQOOPを使用)からHadoopへのデータのロード
追加処理およびレポート生成を行うための、HadoopからOracleデータベース、SQLデータベース(SQOOPを使用)またはHBaseへの処理済データのロード
ナレッジ・モジュール(KM)には、Oracle Data Integratorが特定のテクノロジに対して特定のタスク・セットを実行するために必要な情報が含まれています。アプリケーション・アダプタは、ナレッジ・モジュールの集まりです。したがって、Oracle Data Integrator Application Adapter for Hadoopは、Hadoopに格納されているデータにアクセスするためのナレッジ・モジュールの集まりです。
Hadoopでの通常の処理には、MapReduceジョブとしてプログラミングされたデータの検証や変換などがあります。MapReduceジョブの設計と実装には、専門的なプログラミングの知識が必要です。ただし、Oracle Data IntegratorとOracle Data Integrator Application Adapter for Hadoopを使用する場合、MapReduceジョブを記述する必要はありません。Oracle Data Integratorは、Apache Hiveと、MapReduceジョブを実装するためのSQLライクな言語であるHive Query Language (HiveQL)を使用します。
ビッグ・データ処理のシナリオを実装する場合の最初の手順は、データをHadoopにロードすることです。データソースは通常、ローカル・ファイル・システム、HDFS、HBaseおよびHiveの表にあります。
データのロード後は、SQLと同様の方法でHiveQLを使用して、データを検証および変換できます。データ検証(NULLや主キーのチェックなど)および変換(フィルタ、集計、設定操作、表の導出など)を実行できます。また、カスタマイズした手続き型のスニペット(スクリプト)をデータの処理に含めることもできます。
データが集計、簡略化または処理されて小さなデータ・セットになったら、追加の処理および分析を行うためにそれをOracleデータベース、他のリレーショナル・データベースまたはHBaseにロードできます。Oracleデータベースへのロードを最適に行うには、Oracle Loader for Hadoopが推奨されます。
Oracle Data Integratorには、表3-1に示されている、Hadoopで使用するためのナレッジ・モジュール(KM)が用意されています。
表3-1 Oracle Data Integrator Application Adapter for Hadoopナレッジ・モジュール
KM名 | 説明 | ソース | ターゲット |
---|---|---|---|
ローカルおよびHDFSファイルからHive表にデータをロードします。Hiveのパーティション化とデータ移動の低減によってパフォーマンスを向上させるオプションが用意されています。 |
ファイル・システム |
Hive |
|
切捨て/挿入(追加)モードでHiveターゲット表にデータを統合します。データを制御(検証)できます。無効なデータはエラー表に分離され、再利用できます。 |
Hive |
Hive |
|
PerlやPythonなどのカスタマイズしたスクリプトで変換した後、Hiveターゲット表にデータを統合します。 |
Hive |
Hive |
|
Oracle Loader for HadoopまたはOracle SQL Connector for HDFS (あるいはその両方)を使用して、HDFSファイルまたはHiveソースからOracleデータベース・ターゲットにデータを統合します。 |
ファイル・システムまたはHive |
Oracleデータベース |
|
IKM File-Hive to SQL (SQOOP) |
SQOOPを使用して、HDFSファイルまたはHiveデータソースからSQLデータベース・ターゲットにデータを統合します。SQOOPは、パラレルなJDBC接続を使用してデータをロードします。 |
ファイル・システムまたはHive |
SQLデータベース |
IKM SQL to Hive-HBase-File (SQOOP) |
SQOOPを使用して、SQLデータベースからHive表、HBase表またはHDFSファイルにデータを統合します。SQOOPは、パラレルなJDBC接続を使用してデータをアンロードします。 |
SQLデータベース |
Hive、HBaseまたはファイル・システム |
IKM Hive to HBase Incremental Update (HBase-SerDe) |
Hive表からHBase表にデータを統合します。新しい行の挿入および既存の行の更新がサポートされています。 |
Hive |
HBase |
LKM HBase to Hive (HBase-SerDe) |
HBase表からHive表にデータをロードします。HiveからソースHBase表への読取り専用アクセスを提供します。 HBaseソース表の関連するすべての列を表す、Hiveに関する一時ロード表定義を定義します。 |
HBase |
Hive |
データを制約に対して検証します。 |
該当なし |
Hive |
|
Hive表をリバース・エンジニアリングします。 |
Hiveメタデータ |
該当なし |
|
RKM HBase |
HBase表をリバース・エンジニアリングします。 |
HBaseメタデータ |
該当なし |
次の各項で、Oracle Data Integrator (ODI) Application Adapterのインストール要件について説明します。
Oracle Data Integrator Application Adapter for Hadoopを使用するには、まず、Oracle Big Data Connectorsとは別のライセンスが必要なOracle Data Integratorをインストールする必要があります。ODIは、次の場所にあるOracle Webサイトからダウンロードできます。
http://www.oracle.com/technetwork/middleware/data-integrator/downloads/index.html
Oracle Data Integrator Application Adapter for Hadoopには、Oracle Data Integratorのバージョン11.1.1.6.0以上が必要です。
インストールを実行する前に、システム要件および動作保証のドキュメントを読み、インストール先の環境が、これからインストールする製品の最小インストール要件を満たしていることを確認します。
サポートされているプラットフォームおよびバージョンのリストは、Oracle Technology Networkで入手できます。
http://www.oracle.com/technetwork/middleware/data-integrator/overview/index.html
サポートされているテクノロジおよびバージョンのリストには、Oracle Technology Networkで入手できます。
Oracle Data Integrator Application Adapter for Hadoopは、ODI_Home/odi/sdk/xml-reference
ディレクトリ内にあります。
Oracle Data Integratorでトポロジを設定するには、ファイル・システム、HiveおよびHBase情報を格納するデータ・サーバー、物理スキーマおよび論理スキーマを特定する必要があります。
この項には次のトピックが含まれます:
注意: 次の各項で説明する環境変数の多くは、すでにOracle Big Data Applianceに対して構成されています。(/opt/oracle/odiagent- version /agent_standalone/odi/agent/bin/HadoopEnvSetup.sh にある)構成スクリプトを参照してください。 |
Hadoopのコンテキストでは、Hadoop分散ファイルシステム(HDFS)のファイルとローカル・ファイル(HDFS外のファイル)は区別されます。
データソースを定義する手順は次のとおりです。
ファイル・テクノロジに基づくデータ・サーバー・オブジェクトを作成します。
アクセスされるディレクトリごとに論理スキーマ・オブジェクトを作成します。
各論理スキーマのモデルを作成します。
HDFSファイルの場合、「JDBC URL」フィールドにHDFS名のノードを入力して、ファイル・テクノロジに基づくデータ・サーバー・オブジェクトを作成し、「JDBCドライバ名」は空のままにしておきます。たとえば、次のようになります。
hdfs://bda1node01.example.com:8020
このデータ・サーバー構成では、テスト接続はサポートされていません。
注意: 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ユーザーがパスワードを指定せずに定義される場合、「password=default」は、URLの一部として必要であり、データ・サーバーのパスワード・フィールドは空白のままにします。 |
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インストールの定足数。例: localhost:2181
HBaseサーバーが稼働していることを確認します。
注意: HBaseデータ・サーバーへの接続をテストすることはできません。 |
物理スキーマを作成します。
論理スキーマ・オブジェクトを作成します。
RKM HBaseをグローバル・オブジェクトまたはプロジェクトにインポートします。
論理スキーマを指す、HBaseテクノロジ用の新規モデルを作成します。
RKM HBaseを使用して、カスタム・リバースエンジニアリング操作を実行します。
このプロセスの終了時に、すべてのHBase表およびその列とデータ型がHBaseデータ・モデルに含まれます。
Kerberos認証で保護されるHadoopクラスタでOracle Data Integratorエージェントを実行するには、追加の構成手順を行う必要があります。
Kerberos保護クラスタの使用手順:
Oracle Data Integratorエージェントが実行するOracle Big Data Applianceのnode04にログインします。
oracleユーザーの新しいKerberosチケットを作成します。次のコマンドを使用して、レルムをKerberosの実際のレルム名に置き換えます。
$ kinit oracle@realm
次のコマンドラインを使用して、環境変数を設定します。使用する製品に合せて適切な値を代入します。
$ export KRB5CCNAME=Kerberos-ticket-cache-directory
$ export KRB5_CONFIG=Kerberos-configuration-file
$ export HADOOP_OPTS="$HADOOP_OPTS -Djavax.xml.parsers.DocumentBuilderFactory=com.sun.org.apache.xerces.internal. jaxp.DocumentBuilderFactoryImpl-Djava.security.krb5.conf=Kerberos-configuration-file"
この例では、構成ファイルの名前はkrb5*で、/tmp/oracle_krb/にあります。
$ export KRB5CCNAME=/tmp/oracle_krb/krb5cc_1000
$ export KRB5_CONFIG=/tmp/oracle_krb/krb5.conf
$ export HADOOP_OPTS="$HADOOP_OPTS -D javax.xml.parsers.DocumentBuilderFactory=com.sun.org.apache.xerces.internal. jaxp.DocumentBuilderFactoryImpl -D java.security.krb5.conf=/tmp/oracle_krb/krb5.conf"
次のような構文を使用して、JDBC接続URLを再定義します。
jdbc:hive2://node1:10000/default;principal=HiveServer2-Kerberos-Principal
たとえば、次のようになります。
jdbc:hive2://bda1node01.example.com:10000/default;principal= hive/HiveServer2Host@EXAMPLE.COM
次のURLの『CDH5 Security Guide』の「HiveServer2 Security Configuration」も参照してください。
サービスの混乱を防ぐため、oracleの使用に合せてKerberosチケットを定期的に更新します。
Oracle Big Data ApplianceでのKerberosの管理の詳細は、『Oracle Big Data Applianceソフトウェア・ユーザーズ・ガイド』を参照してください。
Oracle Data Integratorエージェントを設定した後、Oracle Data Integrator Application Adapter for Hadoopで使用できるように構成します。
Oracle Data Integratorエージェントを設定する手順は次のとおりです。
HadoopをOracle Data Integratorエージェント・コンピュータにインストールします。
Oracle Big Data Applianceの場合、『Oracle Big Data Applianceソフトウェア・ユーザーズ・ガイド』でリモートHadoopクライアントの設定手順を参照してください。
HiveをOracle Data Integratorエージェント・コンピュータにインストールします。
SQOOPをOracle Data Integratorエージェント・コンピュータにインストールします。
ODIエージェント・コンピュータで、HadoopおよびHiveの次の基本環境変数を設定します。
表3-2 HadoopおよびHiveに必須の環境変数
環境変数 | 値 |
---|---|
|
Hadoopディレクトリの場所。例: |
|
Hadoop構成ファイル(core-default.xml、core-site.xml、hdfs-site.xmlなど)の場所。例: |
|
Hiveディレクトリの場所。例: |
|
Hive構成ファイル(hive-site.xmlなど)の場所。例: |
|
|
|
|
|
|
HBase機能を使用する場合は、ODIエージェント・コンピュータで次の環境変数を設定します。HadoopおよびHiveの基本環境変数に加えて、これらの環境変数を設定する必要があります。
表3-3 (HadoopおよびHiveの基本環境変数以外の) HBaseに必須の環境変数
環境変数 | 値 |
---|---|
|
HBaseディレクトリの場所。例: |
|
|
|
|
|
|
Oracle Loader for Hadoopを使用する手順は次のとおりです。
Oracle Loader for HadoopをOracle Data Integratorエージェント・システムにインストールします。『Oracle Big Data Connectorsユーザーズ・ガイド』のOracle Loader for Hadoopのインストールに関する項を参照してください。
Oracle SQL Connector for HDFS (OLH_OUTPUT_MODE=DP_OSCH
またはOSCH
)を使用するには、まずこれをインストールする必要があります。『Oracle Big Data Connectorsユーザーズ・ガイド』のOracle SQL Connector for Hadoop Distributed File Systemの設定に関する項を参照してください。
ODIエージェント・コンピュータでOracle Loader for Hadoopの次の環境変数を設定します。HadoopおよびHiveの基本環境変数に加えて、これらの環境変数を設定する必要があります。
表3-4 (HadoopおよびHiveの基本環境変数以外の) Oracle Loader for Hadoopに必須の環境変数
環境変数 | 値 |
---|---|
OLH_HOME |
OLHインストールの場所。例: |
OSCH_HOME |
OSCHインストールの場所。例: |
HADOOP_CLASSPATH |
OLHを使用するには、 |
ODI_OLH_JARS |
Oracle Loader for Hadoopで使用されるカスタム入力形式、Hive、Hive SerDesなどに必要なすべてのJARファイルのカンマ区切りリスト。すべてのファイル名をワイルドカードなしで展開する必要があります。 たとえば、次のようになります。
|
ODI_OLH_SHAREDLIBS |
|
ODI_ADDITIONAL_CLASSPATH |
|
Oracle Data Integrator Studioインストールのローカル・エージェントでHadoopジョブを実行するには、この前の項の設定手順を実行しますが、Oracle Data Integratorのdrivers
ディレクトリではなく、userlib
ディレクトリにJARファイルをコピーします。たとえば、次のようになります。
Linux: $USER_HOME/.odi/oracledi/userlib
ディレクトリ。
Windows: C:\Users\<USERNAME>\AppData\Roaming\odi\oracledi\userlib
ディレクトリ
プロジェクトの設定では、標準の手順に従います。『Oracle Data Integratorでの統合プロジェクトの開発』を参照してください。
次のKMをグローバル・オブジェクトまたはプロジェクトにインポートします。
IKM File to Hive (Load Data)
IKM Hive Control Append
IKM Hive Transform
IKM File-Hive to Oracle (OLH-OSCH)
IKM File-Hive to SQL (SQOOP)
IKM SQL to Hive-HBase-File (SQOOP)
IKM Hive to HBase Incremental Update (HBase-SerDe)
LKM HBase to Hive (HBase-SerDe)
CKM Hive
RKM Hive
RKM HBase
この項には次のトピックが含まれます:
HiveまたはHBaseをホストするテクノロジに基づくモデルや、HiveやHBaseの接続を構成したときに作成された論理スキーマに基づくモデルを作成するには、『Oracle Data Integratorでの統合プロジェクトの開発』で説明されている標準の手順に従います。
Hive表およびビューのリバース・エンジニアリングには、RKM Hiveが使用されます。Hive RKMを使用してHive表のカスタマイズされたリバースエンジニアリングを実行するには、『Oracle Data Integratorでの統合プロジェクトの開発』の説明に従って、通常の手順を使用します。このトピックでは、Hive表に固有の情報の詳細を示します。
リバースエンジニアリング・プロセスでは、対応するHive表またはビューに対するデータストアが作成されます。データ・ストアをマッピングのソースまたはターゲットとして使用できます。
RKM Hive
RKMでは、次のメタデータ要素がリバースされます。
Oracle Data IntegratorデータストアとしてのHive表とビュー。
「マスク」フィールドでリバース・マスクを指定し、リバースする表とビューを選択します。「リバース・エンジニアリング」タブの「マスク」フィールドで、リバースエンジニアリングされるオブジェクトが名前に基づいてフィルタ処理されます。「マスク」フィールドは空にできず、少なくともパーセント記号(%)を含める必要があります。
Oracle Data Integrator属性としてのHive列およびそれらのデータ型。
バケット、パーティション化、クラスタおよびソート列に関する情報は、Oracle Data Integratorデータ・ストアの各フレックス・フィールドまたは列メタデータで設定されます。
表3-5に、作成されるフレックス・フィールドを示します。
表3-5 リバースエンジニアリングされたHive表およびビューのフレックス・フィールド
オブジェクト | フレックス・フィールド名 | フレックス・フィールド・コード | フレックス・フィールド・タイプ | 説明 |
---|---|---|---|---|
データストア |
|
文字列 |
クラスタ化に使用されるバケットの数 |
|
列 |
Hiveパーティション列 |
|
数値 |
パーティション化列はすべて"1"とマークされます。パーティション情報は、次のものから取得されます。
|
列 |
Hiveクラスタ列 |
|
数値 |
クラスタ列はすべて"1"とマークされます。 |
列 |
Hiveソート列 |
|
数値 |
ソート列はすべて"1"とマークされます。 |
HBase表のリバース・エンジニアリングには、RKM HBaseが使用されます。RKM HBaseを使用してHBase表のカスタマイズされたリバースエンジニアリングを実行するには、『Oracle Data Integratorでの統合プロジェクトの開発』の説明に従って、通常の手順を使用します。このトピックでは、HBase表に固有の情報の詳細を示します。
リバースエンジニアリング・プロセスでは、対応するHBase表のデータ・ストアが作成されます。データ・ストアをマッピングのソースまたはターゲットとして使用できます。
RKM HBase
RKM HBaseでは、次のメタデータ要素がリバースされます。
Oracle Data IntegratorデータストアとしてのHBase表。
「マスク」フィールドでリバース・マスクを指定し、リバースする表を選択します。「リバース・エンジニアリング」タブの「マスク」フィールドで、リバースエンジニアリングされるオブジェクトが名前に基づいてフィルタ処理されます。「マスク」フィールドは空にできず、少なくともパーセント記号(%)を含める必要があります。
Oracle Data Integrator属性としてのHBase列およびそれらのデータ型。
Oracle Data Integrator属性としてのHBase一意行キー(key
)。
表3-6に、RKM HBaseのオプションを示します。
表3-6 RKM HBaseのオプション
オプション | 説明 |
---|---|
表のリバース中にスキャンされる行の最大数を指定します。デフォルト値は |
|
スキャンを開始する行のキーを指定します。デフォルトでは、スキャンは1行目から開始されます。行キーは、 |
|
スキャンを終了する行のキーを指定します。デフォルトでは、スキャンは表の最後の行まで、または
|
|
スキャンを、名前がこのパターンと一致する列ファミリに制限します。SQLライクなワイルドカードであるパーセント( |
|
|
ログ・ファイルのパスおよびファイル名を指定します。デフォルト・パスはユーザー・ホームで、デフォルト・ファイル名は |
表3-7に、作成されるフレックス・フィールドを示します。
表3-7 リバースエンジニアリングされたHBase表のフレックス・フィールド
オブジェクト | フレックス・フィールド名 | フレックス・フィールド・コード | フレックス・フィールド・タイプ | 説明 |
---|---|---|---|---|
データストア |
|
文字列 |
Zookeeperノードのカンマ区切りリスト。HBaseクライアントはこれを使用して、HBaseマスター・サーバーおよびHBaseリージョン・サーバーを検出します。 |
|
列 |
HBase記憶域タイプ |
|
文字列 |
データ型が物理的にHBaseに格納される方法を定義します。 指定できる値は、 |
Hive表をリバース・エンジニアリングして構成したら、次のいずれかのマッピング構成を選択できます。
ローカル・ファイル・システムまたはHDFSファイル・システムからHive表にデータをロードする手順は次のとおりです。
ローカル・ファイルおよびHDFSファイルのデータ・ストアを作成します。
ローカル・ファイル・データソースのリバース・エンジニアリングおよび構成の詳細は、『Oracle Data Integrator接続およびナレッジ・モジュール・ガイド』を参照してください。
ソースとしてファイル・データ・ストアを、ターゲットとして対応するHive表を使用して、マッピングを作成します。マッピングの物理ダイアグラムで指定されているIKM File to Hive (Load Data)ナレッジ・モジュールを使用します。この統合ナレッジ・モジュールは、フラット・ファイルからHiveにデータをロードし、既存のデータを置換または追加します。
IKM File to Hive (Load Data)では、次のものがサポートされます。
1つ以上の入力ファイル。複数のソース・ファイルをロードするには、ファイル・データストアのリソース名でワイルドカード文字としてアスタリスクまたは疑問符を入力します(例: webshop_*.log
)。
固定長
デリミタ付き
カスタマイズされた形式
即時または遅延ロード
上書きまたは追加
Hive外部表
表3-8に、IKM File to Hive (Load Data)のオプションを示します。詳細は、ナレッジ・モジュールを参照してください。
表3-8 IKM File to Hiveのオプション
オプション | 説明 |
---|---|
ターゲット表を作成する場合は、このオプションを選択します。 |
|
ターゲット表/パーティションの内容を新しいデータで置き換える場合は、このオプションをtrueに設定します。そうしない場合、新しいデータはターゲット表に追加されます。 |
|
ソース・ファイルをローカル(現在のHadoopクラスタの外側)とみなすかどうかを定義します。このオプションを このオプションは、 |
|
ターゲット/ステージング表を外部で管理する表として宣言するかどうかを定義します。外部表でない場合、Hiveがすべてのデータ・ファイルを管理します。つまり、すべてのデータ・ファイルが このオプションを
|
|
中間ステージング表を作成するかどうかを定義します。 次の場合は、Hiveステージング表が必要です。
前述のいずれにも |
|
統合後に表、ファイル、スクリプトなどの一時オブジェクトを削除します。デバッグなどに使用できるよう一時ファイルを保持する場合は、このオプションを |
|
ステージング表として宣言されているファイルを今すぐターゲット表にロードするか、後で実行時にロードするかを定義します。指定できる値は、 このオプションは、 このオプションの代表的な使用例は、複数のファイルが存在し、それぞれのファイルでデータの再配布/ソートが必要であり、インタフェースを何度もコールしてファイルを収集する場合です。たとえば、1つのパッケージでインタフェースを使用して別々の場所から(多数の小さな)ファイルを取得し、Oracle Data Integrator変数に保存されている場所をターゲット・パーティション列で使用するとします。この場合、最初のインタフェース実行で |
|
ステージング表(
ソース・データストアの列のリストは、正規表現の入力グループのリストと一致している(列の数が同じであり、データ型が適切である)必要があります。 |
|
入力ファイルが見つからない場合にKMを停止するかどうかを定義します。 |
|
|
Hiveバージョンの互換性を指定します。このオプションで指定できる値は、0.7および0.8です。
|
HBase表からHiveにデータをロードする手順は次のとおりです。
HiveにロードするHBase表のデータ・ストアを作成します。
HBaseデータソースのリバース・エンジニアリングおよび構成の詳細は、「HBaseデータソースの設定」を参照してください。
ソースとしてHBaseデータ・ストアを、ターゲットとして対応するHive表を使用して、マッピングを作成します。マッピングの物理ダイアグラムで指定されているLKM HBase to Hive (HBase-SerDe)ナレッジ・モジュールを使用します。このナレッジ・モジュールは、HiveからHBase表への読取りアクセスを提供します。
LKM HBase to Hive (HBase-SerDe)
LKM HBase to Hive (HBase-SerDe)では、次のものがサポートされます。
単一ソースのHBase表。
表3-9に、LKM HBase to Hive (HBase-SerDe)のオプションを示します。詳細は、ナレッジ・モジュールを参照してください。
Hive表からHBaseにデータをロードする手順は次のとおりです。
HBaseにロードするHive表のデータ・ストアを作成します。
Hiveデータソースのリバース・エンジニアリングおよび構成の詳細は、「Hiveデータソースの設定」を参照してください。
ソースとしてHiveデータ・ストアを、ターゲットとして対応するHBase表を使用して、マッピングを作成します。マッピングの物理ダイアグラムで指定されているIKM Hive to HBase Incremental Update (HBase-SerDe)ナレッジ・モジュールを使用します。この統合ナレッジ・モジュールは、HiveからHBaseにデータをロードします。新しい行の挿入および既存の行の更新がサポートされています。
IKM Hive to HBase Incremental Update (HBase-SerDe)
IKM Hive to HBase Incremental Update (HBase-SerDe)では、次のものがサポートされます。
Hiveのフィルタ、結合、データセット、変換および集計
IKM Hive Transformにより生成されたインライン・ビュー
IKM Hive Control Appendにより生成されたインライン・ビュー
表3-10に、IKM Hive to HBase Incremental Update (HBase-SerDe)のオプションを示します。詳細は、ナレッジ・モジュールを参照してください。
表3-10 IKM Hive to HBase Incremental Update (HBase-SerDe)のオプション
オプション | 説明 |
---|---|
|
HBaseターゲット表を作成します。 |
|
ターゲット表の内容を新しいデータで置換します。このオプションを |
|
データ統合後に表、ファイル、スクリプトなどの一時オブジェクトを削除します。デバッグなどに使用できるよう一時オブジェクトを保持する場合は、このオプションを |
|
HBaseがデータ損失を回避するために使用するWrite-Ahead-Log (WAL)を有効または無効にします。パフォーマンスを向上させるためには、WALを無効にできます。 |
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)
IKM SQL to Hive-HBase-File (SQOOP)では、次のものがサポートされます。
ステージングでのマッピング
ステージングでの結合
ステージングでのフィルタ式
データセット
ルックアップ
導出表
表3-11に、IKM SQL to Hive-HBase-File (SQOOP)のオプションを示します。詳細は、ナレッジ・モジュールを参照してください。
表3-11 IKM SQL to Hive-HBase-File (SQOOP)のオプション
オプション | 説明 |
---|---|
|
ターゲット表を作成します。このオプションは、ターゲットがHiveまたはHBaseである場合にのみ適用されます。 |
|
既存のターゲット表の内容を新しいデータで置換します。HiveおよびHBaseターゲットの場合、ターゲット・データが切り捨てられます。ファイル・ターゲットの場合、ターゲット・ディレクトリが削除されます。ファイル・ターゲットの場合は、このオプションを |
|
並列度を指定します。より正確には、抽出に使用されるマッパー・プロセスの数を指定します。
|
|
パラレル抽出のためにソース・データをn個のチャンクに分割する際に使用されるターゲット列を指定します(nは |
|
パラレル抽出のためにソース・データをチャンクに分割する際に、分割列の最小値と最大値が取得されます(KMオプション
コンテキストの独立性を保つため、通常の表名は
|
|
一時ファイルの格納に使用するディレクトリ(sqoopスクリプト、stdout、stderrリダイレクトなど)を指定します。このオプションを空白のままにした場合、次に示すシステムのデフォルトの一時ディレクトリが使用されます。
|
|
SQOOPにより一時ファイル用のサブディレクトリが作成される先のhdfsディレクトリを指定します。作業表に似た名前のサブディレクトリが、一時データを格納するためにここに作成されます。 |
|
データ統合後に表、ファイル、スクリプトなどの一時オブジェクトを削除します。デバッグなどに使用できるよう一時オブジェクトを保持する場合は、このオプションを |
データをHiveターゲット表にロードする前にHive作業表にロードします。このオプションを このオプションを
このオプションを このオプションは、ターゲット・テクノロジがHiveである場合にのみ適用されます。 |
|
ターゲット・テクノロジ用のコネクタが使用できない場合に汎用JDBCコネクタを使用するかどうかを指定します。 SQOOPには、特定のテクノロジに対する固有のコネクタが用意されています。これらのコネクタによってSQL方言が処理され、パフォーマンスが最適化されます。各ターゲット・テクノロジ用のコネクタが存在する場合は、このコネクタを使用する必要があります。存在しない場合は、汎用JDBCコネクタを使用できます。 |
|
|
オプションの汎用Hadoopプロパティ。 |
|
オプションのSQOOPプロパティ。 |
|
オプションのSQOOPコネクタ・プロパティ。 |
データがHiveにロードされた後は、次のナレッジ・モジュールを使用してデータを検証および変換できます。
このナレッジ・モジュールは、データを検証および制御し、切捨て/挿入(追加)モードでHiveターゲット表に統合します。無効なデータはエラー表に分離され、再利用できます。IKM Hive Control Appendでは、このナレッジ・モジュールまたはIKM Hive Transformを使用するインライン・ビュー・マッピングがサポートされています。
表3-12にオプションを示します。詳細は、ナレッジ・モジュールを参照してください。
表3-12 IKM Hive Control Appendのオプション
オプション | 説明 |
---|---|
フロー制御をアクティブにします。 |
|
以前の制御から拒否されたデータをリサイクルします。 |
|
ターゲット・データの挿入または更新後にターゲット表を制御します。 |
|
ターゲット表を作成します。 |
|
ターゲット表の内容を新しいデータで置換します。このオプションを |
|
データ統合後に表、ファイル、スクリプトなどの一時オブジェクトを削除します。デバッグなどに使用できるよう一時オブジェクトを保持する場合は、このオプションを |
|
|
Hiveバージョンの互換性を指定します。このオプションで指定できる値は、0.7および0.8です。
|
このナレッジ・モジュールは、Hive表のデータ整合性をチェックします。Hiveデータ・ストアの制約の妥当性を検証し、無効なレコードをエラー表に転送します。CKM Hiveは、静的制御およびフロー制御に使用できます。格納されるデータに対するこれらの制約を定義する必要もあります。
表3-13に、このチェック・ナレッジ・モジュールのオプションを示します。詳細は、ナレッジ・モジュールを参照してください。
表3-13 CKM Hiveのオプション
オプション | 説明 |
---|---|
実行前にエラー表を削除します。このオプションを |
|
|
Hiveバージョンの互換性を指定します。このオプションで指定できる値は、0.7および0.8です。
|
このナレッジ・モジュールは変換を実行します。シェル・スクリプトを使用してデータを変換してから、置換モードを使用してそれをHiveターゲット表に統合します。ナレッジ・モジュールはインライン・ビュー・マッピングをサポートしており、IKM Hive Control Appendのインライン・ビューとして使用できます。
変換スクリプトでは、ソース・データ・ストアで定義されている順序で入力列を読み取る必要があります。マップされたソース列のみが変換に送られます。変換スクリプトで、ターゲット・データストアで定義されている順に出力列を提供する必要があります。
表3-14に、この統合ナレッジ・モジュールのオプションを示します。詳細は、ナレッジ・モジュールを参照してください。
表3-14 IKM Hive Transformのオプション
オプション | 説明 |
---|---|
ターゲット表を作成します。 |
|
データ統合後に表、ファイル、スクリプトなどの一時オブジェクトを削除します。デバッグなどに使用できるよう一時オブジェクトを保持する場合は、このオプションを |
|
変換スクリプトのファイル名を定義します。この変換スクリプトを使用して、入力データが出力構造に変換されます。次のようなローカル・パスとHDFSパスの両方がサポートされています。 ローカル・スクリプトの場所: HDFSスクリプトの場所: 次の要件が満たされていることを確認してください。
KMオプション
|
|
変換スクリプトの内容を定義します。この変換スクリプトを使用して、入力データが出力構造に変換されます。空白のままにした場合、 スクリプトの例(1対1の変換): マップされたすべてのソース列が、タブ区切りデータとして、stdinを介してこのスクリプトにスプールされます。続いて、このunixスクリプトによってデータが変換され、データがstdoutにタブ区切りデータとして書き出されます。このスクリプトでは、ターゲット列と同じ数の出力列を提供する必要があります。 |
|
|
8進表記で先頭にゼロが付く、スクリプト・ファイルに対するUnix/HDFSファイル権限。たとえば、所有者およびグループに対する完全な権限は、0770です。 警告: 0777のような広範囲の権限を使用すると、セキュリティ・リスクが発生します。 ディレクトリ権限の詳細は、 |
ナレッジ・モジュールによる変換スクリプト適用前のデータの分散を可能にするソース列名のカンマ区切りリスト(オプション)を提供します。 |
|
ナレッジ・モジュールによる変換スクリプト適用前のデータのソートを可能にするソース列名のカンマ区切りリスト(オプション)を提供します。 |
|
ナレッジ・モジュールによる変換スクリプト適用後のデータの分散を可能にするターゲット列名のカンマ区切りリスト(オプション)を提供します。 |
|
ナレッジ・モジュールによる変換スクリプト適用後のデータのソートを可能にするターゲット列名のカンマ区切りリスト(オプション)を提供します。 |
IKM File-Hive to Oracle (OLH-OSCH)は、Oracle Loader for Hadoopを使用してHDFSファイルまたはHiveソースからOracleデータベース・ターゲットにデータを統合します。ナレッジ・モジュールは、マッピング構成および選択されたオプションを使用して、適切なOracle Databaseターゲット・インスタンスを生成します。HiveとHadoopのバージョンは、Oracle Loader for Hadoopの要件に従う必要があります。
関連資料:
|
表3-15に、この統合ナレッジ・モジュールのオプションを示します。詳細は、ナレッジ・モジュールを参照してください。
表3-15 IKM File - Hive to Oracle (OLH-OSCH)
オプション | 説明 |
---|---|
HadoopデータをOracleにロードする方法を指定します。指定できる値は、JDBC、OCI、DP_COPY、DP_OSCHおよびOSCHです。
|
|
|
Oracle Loader for Hadoopおよび外部表のエラーの最大数を指定します。たとえば、 |
ターゲット表を作成します。 |
|
ターゲット表の内容を新しいデータで置換します。 |
|
ターゲット表内のすべてのデータを削除します。 |
|
Oracle Loader for Hadoopで抽出が実行される前に、Hiveソース・データをマテリアライズします。このオプションを
このオプションを このオプションは、ソース・テクノロジがHiveである場合にのみ適用されます。 |
|
中間Oracleデータベース・ステージング表を使用します。 抽出されたデータは、外部表によってOracleで使用可能になります。
このオプションを |
|
外部表のファイル・システム・パスを指定します。以下の点に注意する必要があります。
|
|
一時ファイルの格納に使用するディレクトリ(sqoopスクリプト、stdout、stderrリダイレクトなど)を指定します。このオプションを空白のままにした場合、次に示すシステムのデフォルトの一時ディレクトリが使用されます。
|
|
Oracle Loader for Hadoopジョブで一時ファイル/datapump出力ファイル用のサブディレクトリが作成される先のHDFSディレクトリを指定します。 |
|
作成時に統合表の属性を指定するもので、パフォーマンス向上のために使用します。このオプションは、デフォルトで |
|
データ統合後に表、ファイル、スクリプトなどの一時オブジェクトを削除します。デバッグなどに使用できるよう一時オブジェクトを保持する場合は、このオプションを |
|
デフォルトでは、InputFormatクラスはソースのデータストア/テクノロジ(DelimitedTextInputFormatまたはHiveToAvroInputFormat)から導出されます。このオプションを使用すると、ユーザーはカスタムInputFormatのクラス名を指定できます。 たとえば、Webログ・ファイルのようなカスタム・ファイル形式を読み取る場合、値 正規表現の指定方法の詳細は、KMオプションの「EXTRA_OLH_CONF_PROPERTIES」を参照してください。 |
|
特に、カスタムInputFormatを使用する場合(詳細はKMオプション たとえば、apache Webログ・ファイル形式のロードで、カスタム・ファイル形式の読取りにOLH RegexInputFormatを使用する場合、このKMオプションにより正規表現およびその他の解析詳細を指定します。
|
IKM File-Hive to SQL (SQOOP)は、SQOOPを使用してHDFSファイルまたはHiveソースからSQLデータベースにデータを統合します。
IKM File-Hive to SQL (SQOOP)
IKM File-Hive to SQL (SQOOP)では、次のものがサポートされます。
Hiveのフィルタ、結合、データセット、変換および集計
IKM Hive Control Appendにより生成されたインライン・ビュー
IKM Hive Transformにより生成されたインライン・ビュー
LKM HBase to Hive (HBase SerDe)を使用するHive-HBaseソース表
ファイル・ソース・データ(デリミタ付きファイル形式のみ)
表3-16に、この統合ナレッジ・モジュールのオプションを示します。詳細は、ナレッジ・モジュールを参照してください。
表3-16 IKM File-Hive to SQL (SQOOP)