Hiveでエンコード形式を指定したテーブルの作成方法
在Hive中创建表时,可以通过指定表的存储格式来指定编码格式。Hive支持多种存储格式,包括文本文件、Parquet、ORC、Avro等。不同存储格式对应的编码格式也不同。
- テキストファイルの場合、「ROW FORMAT DELIMITED FIELDS TERMINATED BY」でエンコード形式を指定できます。例えば:
CREATE TABLE my_table
(
col1 STRING,
col2 INT
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
STORED AS TEXTFILE;
ここで’\t’は、フィールドの区切り文字としてタブを使用することを示します。
- Parquetは自己適応型のエンコード手法であり、エンコード方式を指定する必要がありません。必要なのは、ストレージ形式を指定することだけです。
CREATE TABLE my_table
(
col1 STRING,
col2 INT
)
STORED AS PARQUET;
- 对于ORC格式,也是一种自适应编码方式,不需要指定编码格式。只需要指定存储格式即可:
CREATE TABLE my_table
(
col1 STRING,
col2 INT
)
STORED AS ORC;
- Avroでは、独自のバイナリエンコーディングフォーマットを使用しているため、ストレージフォーマットのみ指定するだけで問題ありません。
CREATE TABLE my_table
(
col1 STRING,
col2 INT
)
STORED AS AVRO;
Hiveでは、異なるストレージフォーマットを指定することで、対応するエンコーディングフォーマットを指定できます。