74 DBMS_HADOOP
DBMS_HADOOP
パッケージは、特定のHive表にOracle外部表を作成するCREATE_EXTDDL_FOR_HIVE()
という名前のPL/SQLプロシージャを提供します。
DBMS_HADOOP
を使用するためには、ビッグ・データSQLを正しく設定する必要があります。
この章のトピックは、次のとおりです:
74.1 DBMS_HADOOPの概要
DBMS_HADOOPパッケージには、Oracle外部表を作成するためのプロシージャとOracle外部表のパーティションを同期化するためのプロシージャの2つのプロシージャが用意されています。
これらのプロシージャは、次のとおりです。
-
CREATE_EXTDDL_FOR_HIVE()
- 特定のHive表に対してOracle外部表を作成します。 -
SYNCHRONIZE_PARTITIONS_FOR_HIVE()
- Oracle外部表パーティションを、対応するHive表のパーティションと同期するために使用します。
74.2 DBMS_HADOOPのセキュリティ・モデル
ユーザーには、外部表パラメータを変更するために、表に対するALTER
権限が必要です。ALTER
権限以外にも、外部データ・ソースを含むディレクトリ・オブジェクトに対するREAD
権限と、不良ファイル、ログ・ファイルおよび廃棄ファイルを含むディレクトリ・オブジェクトに対するWRITE
権限が必要です。
パーティション化外部表にも同様の権限が適用されます。
74.3 DBMS_HADOOPサブプログラムの要約
DBMS_HADOOP
には、CREATE_EXTDDL_FOR_HIVE
プロシージャとSYNC_PARTITIONS_FOR_HIVE
プロシージャのサブプログラムが含まれます。
表74-1 DBMS_HADOOPサブプログラム
サブプログラム | 説明 |
---|---|
指定されたHive表名で、Hive表に対応する外部表を作成するために実行できるDDLのテキストを作成します。 |
|
Oracleカタログ内のHive表の既存のパーティション化定義を同期します。 |
74.3.1 CREATE_EXTDDL_FOR_HIVEプロシージャ
このプロシージャは、特定のHive表に対してOracle外部表を作成します。
構文
DBMS_HADOOP.CREATE_EXTDDL_FOR_HIVE ( cluster_id IN VARCHAR2, db_name IN VARCHAR2 := NULL, hive_table_name IN VARCHAR2, hive_partition IN BOOLEAN, table_name IN VARCHAR2 := NULL, perform_DDL IN BOOLEAN := FALSE, text_of_DDL OUT CLOB);
パラメータ
表74-2 CREATE_EXTDDL_FOR_HIVEプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
HadoopクラスタID |
|
Hive表が存在するデータベース |
|
Hive表の名前 |
|
この引数が 元のHive表がパーティション化されていない場合、 |
|
Oracle外部表の名前 |
|
この引数が |
|
引数 |
74.3.2 SYNCHRONIZE_PARTITIONS_FOR_HIVEプロシージャ
このプロシージャは、Oracle外部表パーティションを、対応するHive表のパーティションと同期します。
構文
DBMS_HADOOP.SYNCHRONIZE_PARTITIONS_FOR_HIVE ( table_name IN VARCHAR2, table_owner IN VARCHAR2);
パラメータ
表74-3 SYNCHRONIZE_PARTITIONS_FOR_HIVEプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
Oracle外部表 |
|
スキーマ名。 |