group-telegram.com/begtin/6391
Last Update:
В продолжение моих расхваливаний в адрес Parquet и DuckDB, приведу ещё один пример. Для задача Dateno я в последние дни анализирую большой датасет индикаторов статистики Всемирного банка из data.worldbank.org.
И вот, для справки, Всемирный банк предоставляет данные своих индикаторов не самым удобным образом. При многих достоинствах их данных, но там почти нет того что называется массовой выгрузкой, bulk download, и приходится выкачивать данные через API. Выгрузка этих данных по каждому индикатору - это около 22 ГБ в виде 3382 JSON файлов. Общим объёмом около 76 миллионов записей. Это не все, а примерно 12% всех индикаторов которые удалось проверить. Немного, на самом деле, но всё равно надо чуть-чуть заморочиться.
После преобразования этих файлов в один Parquet файл его размер составляет 44MB, а это 0.2% от исходного объёма. Опять же полученный файл не только сохраняет все возможности его анализа, но и этот анализ происходит куда быстрее.
Откуда такая эффективность? От того что данные индикаторов сильно денормалированы. Колоночное сжатие на них крайне эффективно. Жаль что Всемирный банк данные для массовой выгрузки до сих пор не публикует, хочется надеяться что когда-нибудь начнёт.
Но важный вывод тут ещё и в другом. Если кто-то из статистических служб и не только говорит о том что они не публикуют данные потому что они очень большие и рядовой пользователь не может с ними работать, то знайте что этот человек:
1) Или безграмотен.
2) Или целенаправленно врёт.
Кроме DuckDB и Parquet есть и другие инструменты сильно снижающие порог аналитической работы на недорогих устройствах.
#opendata #duckdb #statistics #parquet #worldbank
BY Ivan Begtin
Warning: Undefined variable $i in /var/www/group-telegram/post.php on line 260
Share with your friend now:
group-telegram.com/begtin/6391