前提条件
このチュートリアルを進めるには、以下が必要です。- ClickHouse Cloud アカウント (サインアップ時に 300 ドル分の無料クレジットを利用できます)
- ClickHouse Cloud サービス
テーブルを作成する
- 左側のメニューから SQL console を選択します
- ホームアイコンの横にある + タブをクリックして、新しいクエリを作成します
- SQL エディタに次のクエリを入力し、Run をクリックします。
データを前処理して挿入する
url 関数を使用すると、ClickHouse にデータをストリーミングできます。ただし、事前にいくつかの前処理が必要です。
以下のクエリは、uk_price_paid テーブルに 2,500 万行以上を挿入し、その際に次の前処理を行います。postcodeをpostcode1とpostcode2の 2 つのカラムに分割します。こうすることで、ストレージ効率とクエリ性能が向上しますtimeフィールドには00:00の時刻しか含まれていないため、日付型に変換します- UUID フィールドは分析に不要なため、取り込みません
- transform 関数を使用して、
typeとdurationを可読性の高いEnumフィールドに変換します is_newフィールドを 1 文字の文字列 (Y/N) から、0 または 1 の値を持つ UInt8 フィールドに変換します- 最後の 2 つのカラムはすべて同じ値 (0) であるため削除します
データを検証する
挿入された行数を確認して、正しく動作したかどうかを検証しましょう:このクエリを実行した時点で、データセットには 27,450,499 行が含まれていました。ClickHouse 上のテーブルのストレージサイズを確認してみましょう:テーブルのサイズはわずか 221.43 MiB であるのに対し、元のデータセットは非圧縮の状態で約 4 GiB あることに注目してください。
ClickHouse は追加設定なしでも優れたデータ圧縮を実現しますが、必要に応じてカラムごとに圧縮をさらにチューニングすることもできます。
次のステップ
このチュートリアルでは、テーブルを作成し、英国の不動産価格データを前処理して ClickHouse にロードしたうえで、 そのデータに対していくつかの分析クエリを実行しました。 次のステップとして、以下を行うことができます。- プロジェクションを使ってこれらのクエリを高速化する方法を学ぶ。同じデータセットを使用した例については、“Projections” を参照してください。
- ClickHouse のコアコンセプトについて詳しく学ぶ
- ClickHouse のベストプラクティスを確認する
- その他のサンプルデータセットを試す