9.2.11 Apache Hive

Hiveとの統合

HDFSハンドラには必要なHive機能がすべて用意されているため、Oracle GoldenGate for Distributed Applications and Analytics (GG for DAA)リリースにはHiveストレージ・ハンドラが含まれていません。

Hive統合を作成し、表を作成してDDLイベントの発生時に表定義を更新できます。これは、Avroオブジェクト・コンテナ・ファイル形式でフォーマットされたデータにのみ制限されます。詳細は、「Avroオブジェクト・コンテナ・ファイル形式でのHDFSの書き込み」および「HDFSハンドラ構成」を参照してください。

Hiveで順序ファイルを消費するには、DDLでSTORED as sequencefileを含むHive表を作成します。create tableスクリプトのサンプルを次に示します。

CREATE EXTERNAL TABLE table_name (
  col1 string,
  ...
  ...
  col2 string)
ROW FORMAT DELIMITED
STORED as sequencefile
LOCATION '/path/to/hdfs/file';

ノート:

ファイルがHiveで使用されるようにする場合は、gg.handler.name.partitionByTableプロパティをtrueに設定する必要があります。

Avro OCF用のApache Hive表の作成

次のApache Hive DDLを使用して、Avro OCFデータが含まれるHDFSの場所に外部表を登録します。

CREATE EXTERNAL TABLE my_avro_ocf_table
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe'
STORED AS
INPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat'
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat'
LOCATION 'hdfs:///user/hive/schema/'
TBLPROPERTIES (
  'avro.schema.url' = 'hdfs:///user/hive/schema/QASOURCE.TCUSTMER.avsc'
);

ノート:

  • LOCATION: Oracle GoldenGateが.avroファイルを書き込むHDFSディレクトリを指します。

  • avro.schema.url: Oracle GoldenGateによって書き込まれたレコード構造を記述するAvro (.avsc)スキーマ・ファイルへのパス。