Skip to main content
Skip to main content
Edit this page

Набор данных о стоимости недвижимости в Великобритании

Набор содержит данные о стоимости недвижимости в Англии и Уэльсе. Данные доступны с 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 data © Crown copyright and database right 2021. Эти данные лицензированы в соответствии с Open Government Licence v3.0.

Загрузите набор данных

Выполните команду:

Загрузка займет около 2 минут при хорошем подключении к интернету.

Создайте таблицу

Обработайте и импортируйте данные

В этом примере используется clickhouse-local для предварительной обработки данных и clickhouse-client для импорта данных.

Указывается структура исходных данных CSV-файла и запрос для предварительной обработки данных с помощью clickhouse-local.

Предварительная обработка включает:

  • разделение почтового индекса на два разных столбца postcode1 и postcode2, что лучше подходит для хранения данных и выполнения запросов к ним;
  • преобразование поля time в дату, поскольку оно содержит только время 00:00;
  • поле UUid игнорируется, потому что оно не будет использовано для анализа;
  • преобразование полей type и duration в более читаемые поля типа Enum с помощью функции transform;
  • преобразование полей is_new и category из односимвольной строки (Y/N и A/B) в поле UInt8 со значениями 0 и 1 соответственно.

Обработанные данные передаются в clickhouse-client и импортируются в таблицу ClickHouse потоковым способом.

Выполнение запроса займет около 40 секунд.

Проверьте импортированные данные

Запрос:

Результат:

Размер набора данных в ClickHouse составляет всего 278 MiB, проверьте это.

Запрос:

Результат:

Примеры запросов

Запрос 1. Средняя цена за год

Запрос:

Результат:

Запрос 2. Средняя цена за год в Лондоне

Запрос:

Результат:

Что-то случилось в 2013 году. Я понятия не имею. Может быть, вы имеете представление о том, что произошло в 2020 году?

Запрос 3. Самые дорогие районы

Запрос:

Результат:

Ускорьте запросы с помощью проекций

Проекции позволяют повысить скорость запросов за счет хранения предварительно агрегированных данных.

Создайте проекцию

Создайте агрегирующую проекцию по параметрам toYear(date), district, town:

Заполните проекцию для текущих данных (иначе проекция будет создана только для добавляемых данных):

Проверьте производительность

Давайте выполним те же 3 запроса.

Запрос 1. Средняя цена за год

Запрос:

Результат:

Запрос 2. Средняя цена за год в Лондоне

Запрос:

Результат:

Запрос 3. Самые дорогие районы

Условие (date >= '2020-01-01') необходимо изменить, чтобы оно соответствовало проекции (toYear(date) >= 2020).

Запрос:

Результат:

Резюме

Все три запроса работают намного быстрее и читают меньшее количество строк.

Online Playground

Этот набор данных доступен в Online Playground.