Pull to refresh
162
-11

java / open source

Send message

SQLite действительно живее всех живых и является предком DuckDB.

Можете рассматривать DuckDB как SQLite для аналитики, так как модели данных у них и подход к построению базы отличаются. Как минимум лучше чтобы делать запросы быстрее работающие с агрегацией данных и работать с форматами данных из Big Data мира: parquet, arrow, iceberg.

Не знаю, я проходил лидом в берлинский стартап - job offer так получал.

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

Хорошо, подход более инженерный чем у всех остальных кандидатов!

Было бы интересно увидеть как вы решили бы эту же задачу на Polars и DuckDB в Python. И в сравнение и область применимости panda/polars/duckdb

Ну, на самом деле тут как с метро. Я бы не хотел бы жить рядом с Ашаном.
Потому что возле соседнего со мной после открытия рядом метро теперь
почти всегда толпы народу. В то же время, то что он находится в пешей
доступности (несколько условной - 30 минут) это очень и очень приятно.

Вводишь в поле "Что ищем:" на сайте дистанцию и тип объекта. В поле "Что не хотим:" вводишь так же дистанцию и объект к которому ты не хочешь жить близко. Можно комбинировать логические условия or/and/not с доступными полями из датасета. Результата получаешь на карте тем цветом, который указал. Основные предикаты я привел в пример здесь. Любой запрос - за счет вашего браузера)

Начало статьи
Начало статьи
Конец статьи
Конец статьи

Или вы имели ввиду что-то другое?

Самые веселые define, что можно придумать. exception прекрасен!
// Подключение сети имён
#define куярга using
#define исемнәр namespace


// Ввод-вывод
#define Татарлар std

#define карагыз cout
#define тәртипсез cerr
#define әйтегез cin
#define икесен_алып_эшләргә swap

#define юл_бетте endl


// Татарские цифры
#define нуль 0
#define бер 1
#define ике 2
#define өч 3
#define дүрт 4
#define биш 5
#define алты 6
#define җиде 7
#define сигез 8
#define тугыз 9
#define ун 10


// Логические/булевые операторы
#define ҺӘМ &&
#define ЯКИ ||
#define һәм &
#define яки |
#define яки_юк ^

#define күбрәк >
#define әзрәк <
#define ул =
#define күбрәк_яки_шул >=
#define әзрәк_яки_шул <=
#define шундый_ук ==
#define шундый_түгел !=

// Объявление переменных
#define башларга int main
#define сан int
#define нокталы float
#define ике_нокталы double

#define бер_яклы unsigned
#define кирәкмәгән_нәрсә void
#define компьютерның_көче size_t
#define зур long
#define кечкенә short

#define үзем_эшләдем template
#define исеме_аның typename

#define бирергә return
#define яхшы 0
#define ялгыш 1

#define яңа new
#define кирәкми delete
#define БЕРНИ NULL
#define белмим_кайда nullptr
#define ниндидер random
#define монысына_тимәскә const
#define бетте_баш throw
#define программаң_тупой exception


// Условия, циклы
#define булса if
#define бу_булса else if
#define юк_бит else
#define була ?
#define булганда while
#define бөтенесенә for

#define бетерергә break
#define монысы_кирәкми continue
#define шул_булса switch
#define мәсәлән case
#define юк_бит_шундыйлар default

#define эшлә ()
#define инде ;


// ООП
#define класс class
#define структура struct
#define сан_пар enum

#define аныкы_гына private
#define дусларына protected
#define бөтен_кешегә public

Ссылка на репозиторий проекта

Похоже нет правильного решения. Есть работающие решения, зависящие от субъективных предпочтений исследователя. Вы предпочитаете решать через name, я через brand, а у кого-то свой магический рецепт из комбинации тегов.

Нет, нормализацию и причёсывание приходится делать потребителям данных, а найденные косяки по возможности исправлять.

За последние 12 лет в Москве почти на каждом здании появились адреса - это существенный прогресс (видимо независимые таксопарки и софт для тарификации помогли, а так же логистика и доставка сделали это).

За прошедшие три года я не увидел значительных улучшений, например, по тегам метрополитена в Москве. По обозначению подъездов, по актуализации POI.

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

бренд по большей части импортированные данные

И поле "operator" тоже часто импортированное. Для сетевых магазинов в этом есть и преимущество. Например есть Rocketdata. Они актуализируют OSM данные на основе данных своих клиентов. Не думаю что сеть супермаркетов шлет им не существующие локации. Уж клиенты и обозначение в Maps.Me и навигаторах им нужнее. И это всего лишь один из поставщиков.

неймы заполняют люди с полей

Кто нибудь регулярно следит за ними, нормализует и меняет е на ё итп?

Не жестче работы на заводе. Как раз тут недавно "Приходите к нам на завод, у нас тяжело". Там еще турникеты, непрерывность производства и особая дружеская атмосфера.

Вообще популярная нынче тема зазывать в кочегарку! К чему бы это?

Спасибо! У меня к вам вопрос, всегда ли количество обозначает качество? Есть ли уверенность что мгазины крупных сетей, где указан name но не указан brand - актуальны и существуют на данный момент времени?

Хорошо, как удостоверюсь что это не просто PR - возьмут на испытательный без этих олимпиад, так возможно и пересмотрю свое отношение...

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

Хотя мне иногда все же приходится освежать знания и использовать асимптотическую сложность алгоритмов при решении своих задач. Последний пример из своей практики для задач маршрутизации описал в Онлайн визуализация алгоритмов: жадного, Дейкстры, A* и двунаправленного поиска

distance <= 1500 and shop='mall'
distance <= 1500 and shop='mall'

Данные для мультиполигонов догрузил и карту обновил.

  1. и еще такой вопрос, есть запрос для выбора здания где работают IT компани? Тоесть выбрать места где больше всего скоплений IT компаний , ну или бизнес центров на крайняк

Не интересовался этой темой, так как фокус был на то что нужно для жизни, а не работы в офисе. Сейчас работа в офисе скорее исключение из правил для программистов. Соответственно, в расчитанных POI таких объектов пока не было. Формально при наличии данных должен сработать следующий предикат:

office in ('it','company','telecommunication')

очень долго выполняются запросы.. минуты 3 на запрос про

Посмотрю как в будущем изменить модель данных, чтобы запросы работали быстрее, возможно сохраню предрасчитанные агрегаты по типовым запросам.

Спасибо что нашли проблему в данных!

Спасибо за новость!

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

Я отвечу вам за него.

— Вы, чего, и конфеты за меня есть будете? — Ага! (c)Двое из ларца

Это опенсорс, вам здесь не рады.

Подмена понятий. Причина конкретно случае в другом: когда по-человечески общаются, то и ответить в радость! А с некоторыми товарищами и врагов не надо)

3) ищите по строке "опасность" в статье указаной здесь первой. Это действительно быстро

2) не знаю, поищу как с данными мультиполигонов закончу

бред в общем.

У меня встречный вопрос, почему вы неуважительно относитесь к моему труду? Потому что он бесплатный и не покупали подписку на этот сервис и данные достались бесплатно? Спасибо, уважаемый читатель. После этой фразы мне сразу же "захотелось" отвечать на все ваши вопросы.

Отвалились мультиполигоны, прикрученные синей изолентой. Ищу как догрузить только эту часть данных

Я готов выслушать вариант как правильно сделать эту часть запроса, чтобы работала всегда на 100%.

Атрибуты можно было положить в сам дом вместе с геометрией и упаковать
всё в векторные тайлы, если уж считать geojson на 200Мб излишеством.

Кто сказал что там 200Мб GeoJSON? Там пару гигабайт декомпрессированного бинарного паркета)

зачем нужна была именно база как parquet?

База данных нужна тогда, когда данные не помещаются в память и писать кастомный код для обработки долго/дорого или нужна гибкость в разработке - резко поменять паттерны доступа, когда в процессе выясняются новые подробности.

Но сама идея базы данных на клиенте мне понравилась.

Мы общаемся онлайн пару недель, в т.ч. через matrix gateway. Хочешь обижайся, хочешь нет - я тебе скажу свое впечатление. Как-то пренебрежительно-учительски со мной общаешься, хотя я к вам на курсы не записывался и не в подчинении по работе.

Жизненный опыт показывает что в таких фразах по шаблону "ну ты конечно фигню сделал, но #ABC# мне понравилось" - дальше следует копирование этого самого #ABC#, заработок на этом и поливание грязью меня. Надеюсь все же, что в этом случае так не будет! Или да?

Судя по работе honzaap/pathfinding на данном маршруте, он останавливается на первом пересечении двух подграфов.

Information

Rating
Does not participate
Location
Россия
Registered
Activity