目次

Search

  1. はじめに
  2. Informatica Data Engineering Integrationについて
  3. マッピング
  4. マッピングの最適化
  5. ソース
  6. ターゲット
  7. トランスフォーメーション
  8. Pythonトランスフォーメーション
  9. データプレビュー
  10. クラスタワークフロー
  11. プロファイル
  12. 監視
  13. 階層データ処理
  14. 階層データ処理設定
  15. スキーマが変更された階層データの処理
  16. インテリジェント構造モデル
  17. ブロックチェーン
  18. ステートフルコンピューティング
  19. 付録 A: 接続リファレンス
  20. 付録 B: データ型リファレンス
  21. 付録 C: 関数リファレンス

Blazeエンジン上のHiveソースのルールとガイドライン

Blazeエンジン上のHiveソースのルールとガイドライン

Blazeエンジンで実行するInformaticaのマッピングにHiveソースを含めることができます。
Blazeエンジンで実行するマッピングにHiveソースを設定する場合は、次のルールとガイドラインを考慮します。
  • Blazeエンジンで実行されるマッピングには、バケット化されたHiveソースとHive ACIDテーブルを含めることができます。
  • Hive ACIDテーブルはバケット化されている必要があります。
  • Blazeエンジンは、ロックが有効化されたHiveテーブルをサポートします。
  • Hiveソースでは、Hiveテーブル名、カラム名、およびスキーマ名に引用符付きの識別子を含めることができます。
  • Blazeマッピング用のHiveソースに含まれるTEXTストレージ形式は、カラム区切り文字としてASCIIを、行セパレータとして改行文字をサポートできます。ASCII文字の16進値は使用できません。例えば、3Bではなくセミコロン(;)を使用します。
  • Blazeマッピング用のHiveソースにSQLオーバーライドを定義できます。
  • Blazeエンジンは、HiveソースとしてRCFileから読み取ることができます。RCFileテーブルから読み取るためには、
    SerDe
    句を使用してテーブルを作成する必要があります。
  • Blazeエンジンは、圧縮されたHiveテーブルから読み取りを行えます。圧縮されたHiveテーブルから読み取るには、
    TBLPROPERTIES
    句を設定する必要があります。

HiveテーブルとしてのRCFile

Blazeエンジンは、HiveテーブルとしてRCFileへの読み書きを実行できます。ただし、BlazeエンジンがサポートするのはColumnarSerDe SerDeのみです。Hortonworksでは、RCFileのデフォルトのSerDeはLazyBinaryColumnarSerDeです。RCFileテーブルの読み書きを行うには、SerDeを
org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe
として指定することで、このテーブルを作成する必要があります。
以下に例を示します。
CREATE TABLE TEST_RCFIle (id int, name string) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe' STORED AS RCFILE;
デフォルトのRCFile SerDeをAmbariまたはClouderaマネージャから設定することもできます。
hive.default.rcfile.serde
プロパティを
org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe
に設定します。

圧縮されたHiveテーブル

Blazeエンジンは、圧縮されたHiveテーブルへの読み書きを実行できます。ただし、圧縮されたHiveテーブルからの読み取りと、圧縮形式のHiveテーブルへの書き込みのためには、
TBLPROPERTIES
句を次のように設定する必要があります。
  • テーブルの作成時に、テーブルプロパティを次のように設定します。
    TBLPROPERTIES ('property_name'='property_value')
  • テーブルがすでにある場合、次のテーブルプロパティを設定するようにテーブルを変更します。
    ALTER TABLE table_name SET TBLPROPERTIES ('property_name' = 'property_value');
プロパティの名前と値は大文字と小文字が区別されません。ファイル形式に応じて、テーブルプロパティは異なる値を取得します。
次の表に、ファイル形式別のプロパティの名前と値の一覧を示します。
ファイル形式
テーブルプロパティの名前
テーブルプロパティの値
Avro
avro.compression
BZIP2、deflate、Snappy
ORC
orc.compress
Snappy、ZLIB
Parquet
parquet.compression
GZIP、Snappy
RCFile
rcfile.compression
Snappy、ZLIB
シーケンス
sequencefile.compression
BZIP2、GZIP、LZ4、Snappy
テキスト
text.compression
BZIP2、GZIP、LZ4、Snappy
Blazeエンジンは、ORC形式として格納されたHiveターゲットへの書き込み時に、デフォルトのZLIB圧縮形式でデータを書き込みません。圧縮形式でデータを書き込むには、このテーブルを変更し、TBLPROPERTIES句がORCファイル形式にZLIBまたはSnappyを使用するように、この句を設定します。
次のテキストに、テーブルを作成し、テーブルを変更するためのコマンド例を示します。
  • テーブルの作成は次のとおりです。
    create table CBO_3T_JOINS_CUSTOMER_HIVE_SEQ_GZIP (C_CUSTKEY DECIMAL(38,0), C_NAME STRING,C_ADDRESS STRING, C_PHONE STRING,C_ACCTBAL DECIMAL(10,2), C_MKTSEGMENT VARCHAR(10),C_COMMENT vARCHAR(117)) partitioned by (C_NATIONKEY DECIMAL(38,0)) TBLPROPERTIES ('sequencefile.compression'='gzip') stored as SEQUENCEFILE;
  • テーブルの変更は次のとおりです。
    ALTER TABLE table_name SET TBLPROPERTIES (avro.compression'='BZIP2');