The UK property prices dataset
このデータには、イングランドおよびウェールズにおける不動産物件の購入価格が含まれています。このデータは1995年から利用可能で、圧縮されていない形のデータセットサイズは約4 GiB(ClickHouseでは約278 MiBしかかかりません)。
- ソース: https://www.gov.uk/government/statistical-data-sets/price-paid-data-downloads
- フィールドの説明: https://www.gov.uk/guidance/about-the-price-paid-data
- HM土地台帳データ © Crown copyright and database right 2021. このデータはOpen Government Licence v3.0のもとでライセンスされています。
テーブルの作成
データの前処理と挿入
url
関数を使用して、データをClickHouseにストリーミングします。まず、一部の受信データを前処理する必要があります。これには以下が含まれます。
postcode
を2つの異なるカラム -postcode1
とpostcode2
に分割し、ストレージとクエリのために最適化します。time
フィールドを日付に変換します。これは0:00の時間だけを含むためです。- 分析に必要ないため、UUid フィールドを無視します。
type
とduration
をより読みやすいEnum
フィールドに変換します。これは transform 関数を使用します。is_new
フィールドを単一文字列(Y
/N
)から UInt8 フィールドに変換し、0または1にします。- 最後の2つのカラムは全て同じ値(0)を持つため、削除します。
url
関数は、ウェブサーバーからのデータをClickHouseのテーブルにストリーミングします。次のコマンドは、uk_price_paid
テーブルに500万行を挿入します。
データが挿入されるのを待ちます - ネットワーク速度によっては1分か2分かかるでしょう。
データの検証
挿入された行数を確認して、動作が正しかったか確かめます。
このクエリが実行された時点で、データセットには27,450,499行がありました。ClickHouseでのテーブルのストレージサイズを確認してみましょう。
テーブルのサイズはわずか221.43 MiBです!
クエリの実行
データを分析するためにいくつかのクエリを実行します。
クエリ1. 年ごとの平均価格
クエリ2. ロンドンの年ごとの平均価格
2020年に住宅価格に何かが起こりました!しかし、それはおそらく驚くべきことではないでしょう...
クエリ3. 最も高価な地域
プロジェクションを使用したクエリの高速化
プロジェクションを使用することで、これらのクエリの速度を向上させることができます。このデータセットの例については、"Projections" を参照してください。
Playgroundでテスト
データセットは、オンラインプレイグラウンドでも利用可能です。