ORC
Input | Output | Alias |
---|---|---|
✔ | ✔ |
説明
Apache ORCは、Hadoopエコシステムで広く使用されている列指向ストレージ形式です。
データ型のマッピング
以下の表は、サポートされているORCデータ型と、それに対応するClickHouseのdata typesをINSERT
およびSELECT
クエリで比較したものです。
ORCデータ型 (INSERT ) | ClickHouseデータ型 | ORCデータ型 (SELECT ) |
---|---|---|
Boolean | UInt8 | Boolean |
Tinyint | Int8/UInt8/Enum8 | Tinyint |
Smallint | Int16/UInt16/Enum16 | Smallint |
Int | Int32/UInt32 | Int |
Bigint | Int64/UInt32 | Bigint |
Float | Float32 | Float |
Double | Float64 | Double |
Decimal | Decimal | Decimal |
Date | Date32 | Date |
Timestamp | DateTime64 | Timestamp |
String , Char , Varchar , Binary | String | Binary |
List | Array | List |
Struct | Tuple | Struct |
Map | Map | Map |
Int | IPv4 | Int |
Binary | IPv6 | Binary |
Binary | Int128/UInt128/Int256/UInt256 | Binary |
Binary | Decimal256 | Binary |
- その他のタイプはサポートされていません。
- 配列はネスト可能で、引数として
Nullable
型の値を持つことができます。Tuple
およびMap
型もネスト可能です。 - ClickHouseテーブルのカラムのデータ型は、対応するORCデータフィールドと一致する必要はありません。データを挿入する際、ClickHouseは上の表に従ってデータ型を解釈し、次にキャストしてClickHouseテーブルカラムに設定されたデータ型にデータを変換します。
使用例
データの挿入
以下のデータを持つORCファイルを使用し、football.orc
として名前を付けます:
データを挿入します:
データの読み取り
ORC
形式を使用してデータを読み取ります:
ヒント
ORCはバイナリ形式であり、端末で人間が読み取れる形では表示されません。INTO OUTFILE
を使用してORCファイルを出力してください。
フォーマット設定
設定 | 説明 | デフォルト |
---|---|---|
output_format_arrow_string_as_string | 文字列カラムに対してバイナリの代わりにArrow String型を使用します。 | false |
output_format_orc_compression_method | 出力ORC形式で使用される圧縮方法。デフォルト値 | none |
input_format_arrow_case_insensitive_column_matching | ArrowカラムとClickHouseカラムを照合する際に大文字と小文字を無視します。 | false |
input_format_arrow_allow_missing_columns | Arrowデータを読み取る際に欠落したカラムを許可します。 | false |
input_format_arrow_skip_columns_with_unsupported_types_in_schema_inference | Arrow形式のスキーマ推論においてサポートされていない型のカラムをスキップできます。 | false |
Hadoopとのデータ交換には、HDFSテーブルエンジンを使用できます。