Hive
Hiveエンジンを使用すると、HDFS Hiveテーブルに対して SELECT
クエリを実行できます。現在、以下の入力フォーマットをサポートしています:
-
Text:
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です。
ClickHouseがリモートファイルシステムのためのローカルキャッシュを有効にして起動されると、ユーザーはクエリ内で settings use_local_cache_for_remote_storage = 0
を使用してキャッシュを使用しないことを選択することもできます。use_local_cache_for_remote_storage
はデフォルトで 1
です。
ORC入力フォーマットでHiveテーブルをクエリする
Hiveでのテーブル作成
ClickHouseでのテーブル作成
上記のHiveテーブルからデータを取得するClickHouseのテーブル:
Parquet入力フォーマットでHiveテーブルをクエリする
Hiveでのテーブル作成
ClickHouseでのテーブル作成
上記のHiveテーブルからデータを取得するClickHouseのテーブル:
Text入力フォーマットでHiveテーブルをクエリする
Hiveでのテーブル作成
ClickHouseでのテーブル作成
上記のHiveテーブルからデータを取得するClickHouseのテーブル: