ClickHouse の azureBlobStorage テーブル関数の使用
これは、Azure Blob Storage または Azure Data Lake Storage から ClickHouse へ データをコピーするための、最も効率的かつシンプルな方法の 1 つです。このテーブル 関数を使用すると、ClickHouse に Azure ストレージへ直接接続し、 オンデマンドでデータを読み取らせることができます。
テーブルのようなインターフェースを提供し、ソースから直接データを
SELECT、INSERT、フィルタリングできるようにします。この関数は高度に最適化されており、
CSV、JSON、Parquet、Arrow、TSV、ORC、Avro など、広く使用されている多くの
ファイル形式をサポートしています。完全な一覧については "Data formats"
を参照してください。
このセクションでは、Azure Blob Storage から ClickHouse へデータを転送するための
シンプルな入門ガイドと、この関数を効果的に使用するための
重要な考慮事項を説明します。詳細および高度なオプションについては、
公式ドキュメントである
azureBlobStorage テーブル関数のドキュメントページ
を参照してください。
Azure Blob Storage のアクセスキーの取得
ClickHouse が Azure Blob Storage にアクセスできるようにするには、アクセスキー付きの接続文字列が必要です。
-
Azure ポータルで、Storage Account に移動します。
-
左側のメニューで、Security + networking セクション内の Access keys を選択します。

-
key1 または key2 のいずれかを選択し、Connection string フィールドの横にある Show ボタンをクリックします。

-
接続文字列をコピーします。この接続文字列を azureBlobStorage テーブル関数のパラメータとして使用します。
Azure Blob Storage 上のデータをクエリする
お使いの ClickHouse クエリコンソールを開きます。これは ClickHouse Cloud の Web インターフェイス、ClickHouse CLI クライアント、またはクエリを 実行するために使用しているその他のツールのいずれでもかまいません。接続文字列と ClickHouse クエリコンソールの両方を準備できたら、Azure Blob Storage 上の データに対して直接クエリを実行できます。
次の例では、data-container という名前のコンテナ内にある JSON ファイルに保存された
すべてのデータをクエリします。
そのデータをローカルの ClickHouse テーブル(たとえば my_table)にコピーしたい場合は、
INSERT INTO ... SELECT 文を使用できます。
これにより、中間の ETL ステップを挟むことなく、外部データを効率的に ClickHouse に取り込めます。
Environmental Sensors データセットを使った簡単な例
例として、Environmental Sensors データセットから 1 つのファイルをダウンロードします。
-
Environmental Sensors データセット から サンプルファイル をダウンロードします。
-
Azure Portal で、まだストレージアカウントを持っていない場合は新しいストレージアカウントを作成します。
ストレージアカウントで Allow storage account key access が有効になっていることを確認してください。有効になっていない場合、アカウントキーを使用してデータにアクセスできません。
-
ストレージアカウント内に新しいコンテナを作成します。この例では、コンテナ名を sensors とします。 既存のコンテナを使用する場合は、この手順をスキップできます。
-
先ほどダウンロードした
2019-06_bmp180.csv.zstファイルをコンテナにアップロードします。 -
前述の手順に従って、Azure Blob Storage の接続文字列を取得します。
これですべての準備が整ったので、Azure Blob Storage からデータを直接クエリを実行できます。
- テーブルにデータを読み込むには、元のデータセットで使用されている
スキーマの簡略版を作成します:
Azure Blob Storage のような外部ソースに対してクエリを実行する際の構成オプションや スキーマ推論の詳細については、入力データからの自動スキーマ推論 を参照してください。
- 次に、Azure Blob Storage から sensors テーブルにデータを挿入します:
sensors テーブルには、Azure Blob Storage に保存されている 2019-06_bmp180.csv.zst
ファイルのデータが取り込まれました。
追加リソース
ここでは azureBlobStorage 関数の基本的な使い方のみを紹介しました。より高度なオプションや設定の詳細については、以下の公式ドキュメントを参照してください: