Можно загрузить отдельные регионы с Geofabric или использовать команду osmium-extract для извлечения интересующей вас части из полного дампа планеты. Моя утилита так же работает и с региональными выгрузками OSM.
Интересный опыт, ты кладезь историй по сценариям обработки данных и open source!
OSM дамп РФ на порядок меньше 3.2Гб при 67G объеме данных всей планеты. Если все еще используете osm-parquetizer, то попробуйте опцию result_in_arrow которая приятно удивит. Как по форматам данных и доступным полям, так и по производительности (не забыв указатьresult_in_tsv=false). Одно но - для паркетов и партиционирования по h3_3 нужно постпроцессить arrow файлы
С внешним жестким диском на линукс все работает, но очень медленно. Задачи преобразования данных и при работе с PostgreSQL сильно зависят от производительности дисковой подсистемы!
Я больше сфокусирован на аналитике, поэтому на ваш вопрос связанный с визуализацией я вряд ли отвечу. Одно скажу точно по своему опыту работы с данными всего мира - партиционирование больших таблиц и уточнения в запросе, позволяющие избегать БД сканирования всех данных - это ключ к ускорению работы.
Первым делом после покупки я разобрал свой ноутбук и заменил штатный накопитель 512Гб в слоте M.2 на Samsung 970 EVO Plus 2Тб. Это не так дорого как покупать ноут в конфигурации с 2Тб сразу
Привет👋 А у тебя вся планета в PostGIS? Можешь чуть подробнее рассказать про используемое для загрузки ПО и объемы данных? Чуть больше контекста пожалуйста. Геохеш примитивнее H3, хотя и вычислительно эффективнее
Проект OSM распространяет данные виде PBF/XML дампов и changeset для инкрементальных изменений. OverpassAPI ещё один способ получить данные проекта, но только для небольшого региона — это прямой способ выгрузки данных с проекта.
Кстати, про что и речь, что в Apache Arrow код ревью серьезное и иногда изначальный пул реквест в итоге может измениться до неузнаваемости из за решения более общей задачи или не так как планировал сначала. По мне так мои PR в Spring framework/Boot, SchemaSpy, H2, Apache Arrow и т.п. хорошо это показывают. Навскидку как пример или этот
Нет, они не ищут суперзвезду. Наоборот HR на первом созвоне узнавала готов ли я дауншифтиться и не скучно ли мне будет на их вакансии. С учетом что выбора у меня не много сейчас я уточнил есть ли в компании рост и возможность менять команды внутри после некоторого времени работы.
И я как интервьювер с отпытом на это реагировал как "кандидат отреагирует на запросы о правках" и что упражнение про работу стребованиями "читать между строк и сам додумывать недосказанное".
Но такие вещи я обычно устно проговаривал с кандидатами на модельной задаче в вакууме и слушал какие вопросы он задает, как рассуждает. Тут не бывает идеальных случаев, смотришь как рассуждает: garbage in -> garbage out или уточнения.
У нас этот диалог был осложнен тем, что это была переписка в почте а не чате и не личное общение. И разница в часовых поясах в 10 часов, он в GMT-5 я в GMT+5. К тому же он отвечал с приличной задержкой - работал видимо в это время.
Если они написаны на Hadoop, Spark, активно используют шаблоны проектирования GoF - поздравляю, вы написали очередной over engineering project! Возможно вы даже найдете себе команду в Google...
Более не пытаюсь вас переубедить! Rust и С/C++ гораздо свободнее но и требуют большего погружения, гораздо большей экспертизы и кругозора разработчика!
Маловероятно что вы сталкнетесь с ограничниями, кроме попытки создать свою JVM для embedded и мобильных устройств. А вот достаточно быстро использовать огромную экосистему для разработки приложений и распределенной обработки данных получится. Каждый делает сам этот выбор!
Как поместить весь мир в обычный ноутбук: 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
Геохеш примитивнее H3, хотя и вычислительно эффективнее
Как поместить весь мир в обычный ноутбук: PostgreSQL и OpenStreetMap
Попробуй пройди за 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 и мобильных устройств. А вот достаточно быстро использовать огромную экосистему для разработки приложений и распределенной обработки данных получится. Каждый делает сам этот выбор!