Skip to main content
Apacheは、分析環境で広く使われている AvroArrowOrc など、複数のデータフォーマットを公開しています。ClickHouseは、これらのフォーマットを使ったデータのインポートとエクスポートをサポートしています。

Avroフォーマットでのインポートとエクスポート

ClickHouseは、Hadoopシステムで広く利用されているApache Avroデータファイルの読み書きをサポートしています。 avro fileからインポートするには、INSERTステートメントでAvroフォーマットを使用します。
file() 関数を使うと、実際にデータをインポートする前に Avro ファイルの内容を確認することもできます。
Avroファイルへエクスポートするには:

Avro と ClickHouse のデータ型

Avro ファイルをインポートまたはエクスポートする際は、データ型の対応を確認してください。Avro ファイルからデータを読み込む際に変換が必要な場合は、明示的な型キャストを使用します。

Kafka の Avro メッセージ

Kafka メッセージが Avro フォーマットを使用している場合、ClickHouse は AvroConfluent フォーマットと Kafka エンジンを使用して、このようなストリームを読み取ることができます。

Arrowフォーマットの使用

もう1つの列指向フォーマットとして、Apache Arrow があります。これは ClickHouse でもインポートとエクスポートの両方に対応しています。Arrowファイル からデータをインポートするには、Arrow フォーマットを使用します。
Arrow ファイルへのエクスポートも同様に行えます。
また、手動で変換が必要なものがあるかどうかは、データ型の対応を参照してください。

Arrowデータのストリーミング

ArrowStream フォーマットは、Arrow ストリーミング (インメモリ処理で使用) を扱う際に使用できます。ClickHouse は Arrow ストリームの読み書きに対応しています。 ClickHouse で Arrow データをストリーミングできることを示すため、次の Python スクリプトにパイプしてみましょう (このスクリプトは Arrow ストリーミング フォーマットの入力ストリームを読み取り、結果を Pandas のテーブルとして出力します) :
これで、ClickHouse の出力をスクリプトにパイプして、ClickHouse からデータをストリーミングできるようになります。
ClickHouseは、同じArrowStreamフォーマットを使用してArrowストリームも読み込めます。
Arrow ストリーミング データの取得元の候補として、arrow-stream を使用してきました。

ORC データのインポートとエクスポート

Apache ORC フォーマットは、通常 Hadoop で使用される列指向ストレージフォーマットです。ClickHouse は、ORC フォーマット を使用した ORC データ のインポートとエクスポートの両方に対応しています。
また、エクスポートとインポートの調整には、データ型の対応追加設定 も確認してください。

関連情報

ClickHouse は、さまざまな用途やプラットフォームに対応できるよう、テキスト形式とバイナリ形式の両方を含む多くのフォーマットをサポートしています。さらに多くのフォーマットとその扱い方については、以下の記事を参照してください。 また、clickhouse-local もぜひ確認してください。これは、ClickHouse server を必要とせずにローカル/リモートファイルを扱える、移植性が高くフル機能を備えたツールです。
最終更新日 2026年7月3日