SQLコンソール
SQLコンソールは、ClickHouse Cloudにおけるデータベースを探索し、クエリを実行するための最も迅速で簡単な方法です。SQLコンソールを使用して、以下のことができます。
- ClickHouse Cloudサービスに接続する
- テーブルデータを表示、フィルタリング、およびソートする
- クエリを実行し、結果データを数回のクリックで視覚化する
- チームメンバーとクエリを共有し、より効果的にコラボレーションすること。
テーブルの探索
テーブルリストとスキーマ情報の表示
ClickHouseインスタンスに含まれるテーブルの概要は、左側のサイドバーエリアに表示されます。左側のバーの上部にあるデータベースセレクターを使用して、特定のデータベース内のテーブルを表示します。

リスト内のテーブルは展開して、カラムやデータ型を表示することもできます。

テーブルデータの探索
リスト内のテーブルをクリックして、新しいタブで開きます。テーブルビューでは、データを簡単に表示、選択、コピーできます。Microsoft ExcelやGoogle Sheetsなどのスプレッドシートアプリケーションにコピー&ペーストする際には、構造とフォーマットが保持されることに注意してください。フッターのナビゲーションを使用して、テーブルデータのページを切り替えることができます(30行単位でページネーションされます)。

セルデータの検査
セルインスペクターツールを使用して、単一のセル内に含まれる大量のデータを表示できます。開くには、セルを右クリックして「セルを検査」を選択します。セルインスペクタの内容は、インスペクタの内容の右上隅にあるコピーアイコンをクリックすることでコピーできます。

テーブルのフィルタリングとソート
テーブルのソート
SQLコンソールでテーブルをソートするには、テーブルを開き、ツールバーの「ソート」ボタンを選択します。このボタンをクリックすると、ソートを設定するためのメニューが開きます。ソートの基準となるカラムを選択し、ソートの順序(昇順または降順)を設定できます。「適用」を選択するか、Enterを押してテーブルをソートします。

SQLコンソールでは、テーブルに複数のソートを追加することも可能です。「ソート」ボタンを再度クリックして、別のソートを追加します。注:ソートは、ソートペインに表示される順序(上から下)で適用されます。ソートを削除するには、単にソートの横にある「x」ボタンをクリックします。
テーブルのフィルタリング
SQLコンソールでテーブルをフィルタリングするには、テーブルを開き、「フィルター」ボタンを選択します。ソートと同様に、このボタンをクリックすると、フィルターを設定するためのメニューが開きます。フィルタリングの基準となるカラムを選択し、必要な条件を選択します。SQLコンソールは、カラムに含まれるデータの種類に応じたフィルターオプションをインテリジェントに表示します。

フィルターに満足したら、「適用」を選択してデータをフィルタリングできます。また、以下のように追加のフィルターを追加することもできます。

ソート機能と同様に、フィルターの横にある「x」ボタンをクリックして削除できます。
フィルタリングとソートの同時実行
SQLコンソールでは、テーブルを同時にフィルタリングおよびソートすることができます。これを行うには、上記の手順を使用して希望のすべてのフィルターとソートを追加し、「適用」ボタンをクリックします。

フィルターとソートからクエリを作成
SQLコンソールは、フィルターやソートをワンクリックで直接クエリに変換することができます。ソートとフィルターパラメータを選択した状態で、ツールバーから「クエリを作成」ボタンを選択するだけです。「クエリを作成」をクリックすると、テーブルビューに含まれるデータに対応するSQLコマンドであらかじめ入力された新しいクエリタブが開きます。

「クエリを作成」機能を使用する際に、フィルターとソートは必須ではありません。
SQLコンソールでのクエリ作成の詳細については、(link)クエリドキュメントをお読みください。
クエリの作成と実行
クエリの作成
SQLコンソールで新しいクエリを作成する方法は2つあります。
- タブバーの「+」ボタンをクリックする
- 左側のサイドバーのクエリリストから「新規クエリ」ボタンを選択する

クエリの実行
クエリを実行するには、SQLエディタにSQLコマンドを入力し、「実行」ボタンをクリックするか、ショートカットの cmd / ctrl + enter
を使用します。複数のコマンドを順に書いて実行する場合は、各コマンドの後にセミコロンを追加する必要があります。
クエリ実行オプション デフォルトでは、実行ボタンをクリックすると、SQLエディタに含まれるすべてのコマンドが実行されます。SQLコンソールは、他の2つのクエリ実行オプションをサポートしています。
- 選択したコマンドを実行
- カーソル位置のコマンドを実行
選択したコマンドを実行するには、希望するコマンドまたはコマンドのシーケンスを強調表示し、「実行」ボタンをクリックするか(または cmd / ctrl + enter
ショートカットを使用します)。選択が存在する場合、SQLエディタのコンテキストメニュー(エディタ内の任意の場所を右クリックして開く)から「選択を実行」を選択することもできます。

現在のカーソル位置でコマンドを実行するには、次の2つの方法があります。
- 拡張実行オプションメニューから「カーソル位置で実行」を選択する(または対応する
cmd / ctrl + shift + enter
キーボードショートカットを使用します)

- SQLエディタのコンテキストメニューから「カーソル位置で実行」を選択します

カーソル位置にあるコマンドは、実行時に黄色に点滅します。
クエリのキャンセル
クエリが実行中の場合、クエリエディタのツールバーにある「実行」ボタンは「キャンセル」ボタンに置き換えられます。このボタンをクリックするか、 Esc
を押してクエリをキャンセルします。注意:既に返された結果はキャンセル後も保持されます。

クエリの保存
以前に名前が付けられていない場合、クエリは「未設定のクエリ」と呼ばれます。クエリ名をクリックして変更します。クエリ名を変更すると、そのクエリは保存されます。

「保存」ボタンや cmd / ctrl + s
キーボードショートカットを使用してクエリを保存することもできます。

GenAIを使用してクエリを管理する
この機能により、ユーザーは自然言語の質問としてクエリを記述し、クエリコンソールが利用可能なテーブルのコンテキストに基づいてSQLクエリを生成できるようになります。GenAIは、ユーザーがクエリをデバッグするのにも役立ちます。
GenAIについての詳細は、ClickHouse Cloudブログの「GenAIによるクエリ提案を発表」を確認してください。
テーブルの設定
英国の価格データセットをインポートし、それを使用していくつかのGenAIクエリを作成します。
- ClickHouse Cloudサービスを開きます。
- _+_アイコンをクリックして新しいクエリを作成します。
- 次のコードを貼り付けて実行します:
このクエリは約1秒で完了するはずです。完了すると、「uk_price_paid」という空のテーブルが作成されます。
- 新しいクエリを作成し、次のクエリを貼り付けます:
このクエリは「gov.uk」ウェブサイトからデータセットを取得します。このファイルは約4GBのサイズであるため、このクエリは完了するまでに数分かかるでしょう。ClickHouseがクエリを処理すると、「uk_price_paid」テーブルに全データセットが含まれるはずです。
クエリの作成
自然言語を使用してクエリを作成します。
-
uk_price_paidテーブルを選択し、「クエリを作成」をクリックします。
-
SQL生成をクリックします。クエリがChat-GPTに送信されることを承諾するよう求められる場合があります。「同意する」を選択して続行します。
-
今、自然な言語のクエリを入力してChatGPTにSQLクエリに変換させるためのプロンプトを使用できます。この例では、次のように入力します:
年ごとの全てのuk_price_paid取引の合計金額と合計件数を表示してください。
-
コンソールは、求めているクエリを生成し、新しいタブに表示します。この例では、GenAIは次のクエリを作成しました:
- クエリが正しいことを確認したら、実行をクリックして実行します。
デバッグ
さて、GenAIのクエリデバッグ機能をテストしましょう。
- _+_アイコンをクリックして新しいクエリを作成し、次のコードを貼り付けます:
- 実行をクリックします。
pricee
から値を取得しようとしているため、クエリは失敗します。正しいのはprice
です。 - クエリを修正をクリックします。
- GenAIはクエリの修正を試みます。この場合、
pricee
をprice
に変更しました。また、このシナリオではtoYear
がより適切な関数であることを認識しました。 - 提案された変更をクエリに追加するために適用を選択し、実行をクリックします。
GenAIは実験的な機能であることを忘れないでください。GenAIが生成したクエリを任意のデータセットに対して実行する際は注意が必要です。
高度なクエリ機能
クエリ結果の検索
クエリが実行された後、結果ペインの検索入力を使用して返された結果セットを迅速に検索できます。この機能は、追加のWHERE
句の結果をプレビューする場合や、特定のデータが結果セットに含まれていることを確認する場合に役立ちます。検索入力に値を入力すると、結果ペインが更新され、入力された値に一致するエントリを含むレコードが返されます。この例では、hackernews
テーブルで、ClickHouse
を含むコメントのすべてのbreakfast
のインスタンスを探します(大文字と小文字を区別しない):

注意:入力された値に一致する任意のフィールドが返されます。たとえば、上記のスクリーンショットの3番目のレコードはby
フィールドで「breakfast」と一致しませんが、text
フィールドは一致しています:

ページネーション設定の調整
デフォルトでは、クエリ結果ペインは単一のページにすべての結果レコードを表示します。より大きな結果セットでは、結果をページネーションして表示を簡単にする方が望ましい場合があります。これは、結果ペインの右下隅にあるページネーションセレクターを使用して実行できます:

ページサイズを選択すると、すぐに結果セットにページネーションが適用され、結果ペインのフッターの中央にナビゲーションオプションが表示されます。

クエリ結果データのエクスポート
クエリ結果セットは、SQLコンソールから直接CSV形式で簡単にエクスポートできます。これを行うには、結果ペインツールバーの右側にある•••
メニューを開き、「CSVとしてダウンロード」を選択します。

クエリデータの視覚化
データはチャート形式でより簡単に解釈できる場合があります。クエリ結果データから数回のクリックで視覚化を簡単に作成できます。例として、NYCタクシーのトリップの週間統計を計算するクエリを使用します:

視覚化なしでは、これらの結果は解釈が難しいです。それらをチャートに変換しましょう。
チャートの作成
視覚化の構築を開始するには、クエリ結果ペインツールバーから「チャート」オプションを選択します。チャート設定ペインが表示されます:

trip_total
をweek
で追跡する簡単な棒グラフを作成することから始めます。このために、week
フィールドをx軸に、trip_total
フィールドをy軸にドラッグします:

ほとんどのチャートタイプは数値軸に複数のフィールドをサポートしています。これを示すために、fare_totalフィールドをy軸にドラッグします:

チャートのカスタマイズ
SQLコンソールは、チャート設定ペインのチャートタイプセレクターから選択できる10種類のチャートタイプをサポートしています。たとえば、前のチャートタイプを棒グラフからエリアグラフに簡単に変更できます:

チャートタイトルは、データを提供するクエリの名前に一致します。クエリ名を更新すると、チャートタイトルも更新されます:

チャート設定ペインの「高度な」セクションで、より高度なチャートの特性も調整できます。まず、以下の設定を調整します:
- サブタイトル
- 軸タイトル
- x軸のラベルの向き
チャートはそれに応じて更新されます:

いくつかのシナリオでは、各フィールドの軸スケールを独立して調整する必要があります。これは、軸範囲のminおよびmax値を指定することで「高度な」セクションで行うこともできます。たとえば、上記のチャートは良好に見えますが、trip_total
とfare_total
フィールドの相関関係を示すために、軸範囲を調整する必要があります:

クエリの共有
SQLコンソールでは、クエリをチームと共有できます。クエリが共有されると、チームのすべてのメンバーがそのクエリを表示し、編集できます。共有クエリは、チームと協力するための素晴らしい方法です。
クエリを共有するには、クエリツールバーの「共有」ボタンをクリックします。

ダイアログが表示され、チームのすべてのメンバーとクエリを共有できるようになります。複数のチームがある場合は、クエリを共有するチームを選択できます。



いくつかのシナリオでは、各フィールドの軸スケールを独立して調整する必要があります。これは、軸範囲のminおよびmax値を指定することで「高度な」セクションで行うこともできます。たとえば、上記のチャートは良好に見えますが、trip_total
とfare_total
フィールドの相関関係を示すために、軸範囲を調整する必要があります:
