英国房地产价格数据集
此数据包含英格兰和威尔士房地产支付的价格。自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 Land Registry 数据 © Crown copyright 和数据库版权 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"。
在游乐场中测试
数据集也可以在 在线游乐场 中使用。