Как стать автором
Обновить
111
Карма
67
Рейтинг

java / open source

Как поместить весь мир в обычный ноутбук: PostgreSQL и OpenStreetMap

osmium-extract позволяет делать свою разбивку по полигону или прямоугольной области, не полагаясь только на досупные к скачиванию

Как поместить весь мир в обычный ноутбук: PostgreSQL и OpenStreetMap

Можно загрузить отдельные регионы с Geofabric или использовать команду osmium-extract для извлечения интересующей вас части из полного дампа планеты. Моя утилита так же работает и с региональными выгрузками OSM.

Как поместить весь мир в обычный ноутбук: PostgreSQL и OpenStreetMap

Интересный опыт, ты кладезь историй по сценариям обработки данных и open source!

OSM дамп РФ на порядок меньше 3.2Гб при 67G объеме данных всей планеты. Если все еще используете osm-parquetizer, то попробуйте опцию result_in_arrow которая приятно удивит. Как по форматам данных и доступным полям, так и по производительности (не забыв указатьresult_in_tsv=false). Одно но - для паркетов и партиционирования по h3_3 нужно постпроцессить arrow файлы

Как поместить весь мир в обычный ноутбук: PostgreSQL и OpenStreetMap

С внешним жестким диском на линукс все работает, но очень медленно. Задачи преобразования данных и при работе с PostgreSQL сильно зависят от производительности дисковой подсистемы!

Как поместить весь мир в обычный ноутбук: PostgreSQL и OpenStreetMap

Я больше сфокусирован на аналитике, поэтому на ваш вопрос связанный с визуализацией я вряд ли отвечу. Одно скажу точно по своему опыту работы с данными всего мира - партиционирование больших таблиц и уточнения в запросе, позволяющие избегать БД сканирования всех данных - это ключ к ускорению работы.

Как поместить весь мир в обычный ноутбук: PostgreSQL и OpenStreetMap

Первым делом после покупки я разобрал свой ноутбук и заменил штатный накопитель 512Гб в слоте M.2 на Samsung 970 EVO Plus 2Тб. Это не так дорого как покупать ноут в конфигурации с 2Тб сразу

Как поместить весь мир в обычный ноутбук: PostgreSQL и OpenStreetMap

Пользуйтесь на здоровье

Как поместить весь мир в обычный ноутбук: PostgreSQL и OpenStreetMap

Привет👋 А у тебя вся планета в PostGIS? Можешь чуть подробнее рассказать про используемое для загрузки ПО и объемы данных? Чуть больше контекста пожалуйста.
Геохеш примитивнее H3, хотя и вычислительно эффективнее

Как поместить весь мир в обычный ноутбук: PostgreSQL и OpenStreetMap

Проект OSM распространяет данные виде PBF/XML дампов и changeset для инкрементальных изменений. OverpassAPI ещё один способ получить данные проекта, но только для небольшого региона — это прямой способ выгрузки данных с проекта.

Попробуй пройди за 4 часа тестовое задание в канадскую компанию

Добавил в самом конце публикации

Попробуй пройди за 4 часа тестовое задание в канадскую компанию

Не плачьте! Для 4х часового тестового задания можно сделать скидку на декомпозицию кода и размер метода

Попробуй пройди за 4 часа тестовое задание в канадскую компанию

Кстати, про что и речь, что в Apache Arrow код ревью серьезное и иногда изначальный пул реквест в итоге может измениться до неузнаваемости из за решения более общей задачи или не так как планировал сначала. По мне так мои PR в Spring framework/Boot, SchemaSpy, H2, Apache Arrow и т.п. хорошо это показывают. Навскидку как пример или этот

Попробуй пройди за 4 часа тестовое задание в канадскую компанию

Нет, они не ищут суперзвезду. Наоборот HR на первом созвоне узнавала готов ли я дауншифтиться и не скучно ли мне будет на их вакансии. С учетом что выбора у меня не много сейчас я уточнил есть ли в компании рост и возможность менять команды внутри после некоторого времени работы.

Попробуй пройди за 4 часа тестовое задание в канадскую компанию

И я как интервьювер с отпытом на это реагировал как "кандидат отреагирует на запросы о правках" и что упражнение про работу стребованиями "читать между строк и сам додумывать недосказанное".

Но такие вещи я обычно устно проговаривал с кандидатами на модельной задаче в вакууме и слушал какие вопросы он задает, как рассуждает. Тут не бывает идеальных случаев, смотришь как рассуждает: garbage in -> garbage out или уточнения.

У нас этот диалог был осложнен тем, что это была переписка в почте а не чате и не личное общение. И разница в часовых поясах в 10 часов, он в GMT-5 я в GMT+5. К тому же он отвечал с приличной задержкой - работал видимо в это время.

Попробуй пройди за 4 часа тестовое задание в канадскую компанию

Скорее задача подразумевает некий анализатор email.

Попробуй пройди за 4 часа тестовое задание в канадскую компанию

Обязательно расскажу как я понял после всех бесед. А пока жду мозгового штурма от аудитории, собираю мнения

Попробуй пройди за 4 часа тестовое задание в канадскую компанию

Александр. Техническое интервью было на русском, HR и все остальное на английском

Что поможет вам стать программистом

Если они написаны на Hadoop, Spark, активно используют шаблоны проектирования GoF - поздравляю, вы написали очередной over engineering project! Возможно вы даже найдете себе команду в Google...

Что поможет вам стать программистом

Более не пытаюсь вас переубедить! Rust и С/C++ гораздо свободнее но и требуют большего погружения, гораздо большей экспертизы и кругозора разработчика!

Что поможет вам стать программистом

Маловероятно что вы сталкнетесь с ограничниями, кроме попытки создать свою JVM для embedded и мобильных устройств. А вот достаточно быстро использовать огромную экосистему для разработки приложений и распределенной обработки данных получится. Каждый делает сам этот выбор!

Информация

В рейтинге
76-й
Откуда
Россия
Зарегистрирован
Активность