Hive テーブルの構文とプロパティ¶
Denodo 組み込み MPP から Parquet データセットにアクセスするには、AWS S3、Azure Data Lake などのファイルをメタストアの Hive テーブルにマッピングする必要があります。このマッピングには、 CREATE TABLE 文を使用し、データスキーマ、ファイル形式、およびデータの場所を指定する必要があります。
CREATE TABLE orders (
orderkey bigint,
custkey bigint,
orderstatus varchar,
totalprice double,
orderpriority varchar,
clerk varchar,
shippriority integer,
comment varchar
) WITH (
external_location = 's3a://my_bucket/path/to/folder/',
format = 'PARQUET'
);
external_location: データの場所は、特定のファイルではなく、バケット名またはバケット名と 1 つまたは複数のフォルダを指定する必要があります。最後にスラッシュを使用することを忘れないでください。スラッシュがない場合、**``Can not create a Path from an empty string``**というエラーが発生します。format: サポートされるファイル形式は、ORC、PARQUET、AVRO、RCBINARY、RCTEXT、SEQUENCEFILE、JSON、TEXTFILE、CSV です。
CREATE TABLE の WITH 句を使用して、他のプロパティをテーブルに設定することもできます。使用可能なテーブルプロパティを以下に示します。
avro_schema_url(varchar): テーブルの Avro スキーマを参照する URI。bucket_count(integer): バケットの数。bucketed_by(array(varchar)): バケット化する列。csv_escape(varchar): CSV のエスケープ文字。csv_quote(varchar): CSV の引用符文字。csv_separator(varchar): CSV の区切り文字。dwrf_encryption_algorithm(varchar): DWRF の暗号化データに使用するアルゴリズム。dwrf_encryption_provider(varchar): プロバイダーの暗号化キーのプロバイダー。encrypt_columns(array(varchar)): キー参照と暗号化する列のリスト。例:ARRAY['key1:col1,col2', 'key2:col3,col4']encrypt_table(varchar): テーブル全体を暗号化する場合のキー参照。external_location(varchar): 外部テーブルのファイルシステム上の場所を示す URI。format(varchar): テーブルの Hive ストレージ形式。指定できる値は、ORC、PARQUET、AVRO、RCBINARY、RCTEXT、SEQUENCEFILE、JSON、TEXTFILE、CSV です。orc_bloom_filter_columns(array(varchar)): ORC の Bloom フィルタのインデックス列。orc_bloom_filter_fpp(double): ORC の Bloom フィルタの誤検出確率。partitioned_by(array(varchar)): パーティション分割列。preferred_ordering_columns(array(varchar)): バケット化されていないテーブルの優先並べ替え列。sorted_by(array(varchar)): バケット並べ替え列。
