英国房地产价格数据集
这份数据包含了在英格兰和威尔士支付的房地产价格。数据自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 土地注册处数据 © 皇冠版权和数据库权利 2021。该数据根据开放政府许可证 v3.0 授予许可。
创建表
预处理并插入数据
我们将使用 url
函数将数据流式传输到 ClickHouse。我们需要首先预处理一些进入的数据,包括:
- 将
postcode
切分为两个不同的列 -postcode1
和postcode2
,这样更有利于存储和查询 - 将
time
字段转换为日期,因为它仅包含 00:00 时间 - 忽略 UUid 字段,因为我们在分析中不需要它
- 使用 transform 函数将
type
和duration
转换为更易读的Enum
字段 - 将
is_new
字段从单字符字符串(Y
/N
)转换为 UInt8 字段,其值为 0 或 1 - 删除最后两列,因为它们的值都是相同的(即 0)
url
函数将数据从网页服务器流式传输到您的 ClickHouse 表中。以下命令将 500 万行插入到 uk_price_paid
表中:
等待数据插入 - 这可能需要一两分钟,具体取决于网络速度。
验证数据
让我们通过查看插入了多少行来验证操作是否成功:
在运行此查询时,数据集包含 27,450,499 行。让我们看看 ClickHouse 中表的存储大小:
注意表的大小仅为 221.43 MiB!
执行一些查询
让我们运行一些查询来分析数据:
查询 1. 每年的平均价格
查询 2. 伦敦每年的平均价格
2020 年的房价发生了什么变化!但这可能并不令人惊讶...
查询 3. 最昂贵的社区
使用投影加速查询
我们可以使用投影来加速这些查询。有关该数据集的示例,请参见 "Projections"。
在游乐场中测试
该数据集在 在线游乐场 中也可用。