Hive
Not supported in ClickHouse Cloud
Hiveエンジンを利用することで、HDFS Hiveテーブルに対してSELECT
クエリを実行することができます。現在、以下の入力フォーマットがサポートされています。
-
テキスト:
binary
を除くシンプルなスカラー型のみをサポート -
ORC:
char
を除くシンプルなスカラー型をサポート;array
のような複雑な型のみをサポート -
Parquet: すべてのシンプルなスカラー型をサポート;
array
のような複雑な型のみをサポート
テーブルの作成
CREATE TABLE クエリの詳細な説明を参照してください。
テーブルの構造は元のHiveテーブルの構造と異なることがあります:
- カラム名は元のHiveテーブル内のものと同じである必要がありますが、これらのカラムの一部のみを使用することができ、順序も任意で、他のカラムから計算されたエイリアスカラムを使用することもできます。
- カラムタイプは元のHiveテーブルのものと同じである必要があります。
- パーティションによる式は元のHiveテーブルと一貫性を保ち、パーティションによる式のカラムはテーブル構造内に含まれている必要があります。
エンジンパラメータ
-
thrift://host:port
— Hiveメタストアのアドレス -
database
— リモートデータベース名。 -
table
— リモートテーブル名。
使用例
HDFSファイルシステムのローカルキャッシュの使用方法
リモートファイルシステムのローカルキャッシュを有効にすることを強くお勧めします。ベンチマークによると、キャッシュを使用した場合、ほぼ2倍の速度向上が見られます。
キャッシュを使用する前に、config.xml
に追加してください。
- enable: trueの場合、ClickHouseは起動後にリモートファイルシステム(HDFS)のローカルキャッシュを維持します。
- root_dir: 必須。リモートファイルシステム用のローカルキャッシュファイルを保存するルートディレクトリ。
- limit_size: 必須。ローカルキャッシュファイルの最大サイズ(バイト単位)。
- bytes_read_before_flush: リモートファイルシステムからファイルをダウンロードする際にローカルファイルシステムにフラッシュする前のバイト数を制御します。デフォルト値は1MBです。
ORC入力フォーマットでHiveテーブルにクエリを実行する
Hiveでのテーブル作成
ClickHouseでのテーブル作成
ClickHouseでのテーブル、上記で作成したHiveテーブルからデータを取得:
Parquet入力フォーマットでHiveテーブルにクエリを実行する
Hiveでのテーブル作成
ClickHouseでのテーブル作成
ClickHouseでのテーブル、上記で作成したHiveテーブルからデータを取得:
テキスト入力フォーマットでHiveテーブルにクエリを実行する
Hiveでのテーブル作成
ClickHouseでのテーブル作成
ClickHouseでのテーブル、上記で作成したHiveテーブルからデータを取得: