メインコンテンツまでスキップ
メインコンテンツまでスキップ

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テーブルからデータを取得: