👨💻Гринатом в поиске системного аналитика!
Вам предстоит разрабатывать спецификации на модули продукта, формировать бэклог команды и приоритизировать задачи, проектировать интеграционные взаимодействия, оценивать компоненты приложения на зависимость и устойчивость, а также анализировать баги.
Наш идеальный кандидат обладает опытом проектирования, документирования и интеграций, работал системным аналитиком в ИТ не менее 3 лет, умеет декомпозировать крупные задачи, понимает принципы построения микросервисной архитектуры ПО и разработки Web-приложений, умеет работать с agile/scrum методологией, а также с BPMN, UML, SQL, OpenProject, Postman. Преимуществом будет опыт реализации и внедрения систем ECM, ERP, MES, CRM, HRM.
👉Откликнуться: https://spb.hh.ru/vacancy/121231998?hhtmFrom=employer_vacancies
Вам предстоит разрабатывать спецификации на модули продукта, формировать бэклог команды и приоритизировать задачи, проектировать интеграционные взаимодействия, оценивать компоненты приложения на зависимость и устойчивость, а также анализировать баги.
Наш идеальный кандидат обладает опытом проектирования, документирования и интеграций, работал системным аналитиком в ИТ не менее 3 лет, умеет декомпозировать крупные задачи, понимает принципы построения микросервисной архитектуры ПО и разработки Web-приложений, умеет работать с agile/scrum методологией, а также с BPMN, UML, SQL, OpenProject, Postman. Преимуществом будет опыт реализации и внедрения систем ECM, ERP, MES, CRM, HRM.
👉Откликнуться: https://spb.hh.ru/vacancy/121231998?hhtmFrom=employer_vacancies
❤1
⚡️ Топ-10 наиболее популярных опенсорсных баз данных: на заметку разработчику
1️⃣ MySQL
2️⃣ PostgreSQL
3️⃣ MariaDB
4️⃣ Apache Cassandra
5️⃣ Neo4j
6️⃣ SQLite
7️⃣ CockroachDB
8️⃣ Redis
9️⃣ MongoDB
🔟 Couchbase
#инфографика
1️⃣ MySQL
2️⃣ PostgreSQL
3️⃣ MariaDB
4️⃣ Apache Cassandra
5️⃣ Neo4j
6️⃣ SQLite
7️⃣ CockroachDB
8️⃣ Redis
9️⃣ MongoDB
🔟 Couchbase
#инфографика
👍2
🚗 Как найти кратчайший маршрут с помощью Apache Spark и GraphFrames
Разбираем кейс на реальных данных из OpenStreetMap — ищем оптимальный маршрут
🔍 Что делаем
1. Загружаем граф дорог города с помощью OSMnx
2. Сохраняем вершины и ребра с координатами, скоростями и геометрией
3. Загружаем всё в Spark
4. Находим кратчайший путь с помощью GraphFrames
📍 1. Скачиваем карту и строим граф улиц
📁 2. Сохраняем геометрическое описание города в формате GeoJSON и данные о вершинах и рёбрах в формате CSV
3. Используем библиотеку GraphFrames для обработки графов на Apache Spark
🧭 4. Ищем кратчайший путь по времени
например, от Измайлово до ЖК Зиларт
💡 Результат: 40 шагов от точки A до точки B.
Такой подход легко масштабируется на миллионы маршрутов. Используйте Spark и GraphFrames для построения логистических моделей, маршрутизации и городского планирования.
🚀 Хотите прокачаться в работе с Big Data? Изучайте Spark! Записывайтесь на курс Spark Developer от OTUS — учитесь на реальных данных и продвинутых кейсах: https://vk.cc/cNrOCj
🎁Пройдите тест, чтобы успеть воспользоваться 10% скидкой на курс и бонусным промокодомSpark_05 . Предложение действует до 6 июля 2025 года.
Разбираем кейс на реальных данных из OpenStreetMap — ищем оптимальный маршрут
🔍 Что делаем
1. Загружаем граф дорог города с помощью OSMnx
2. Сохраняем вершины и ребра с координатами, скоростями и геометрией
3. Загружаем всё в Spark
4. Находим кратчайший путь с помощью GraphFrames
📍 1. Скачиваем карту и строим граф улиц
import osmnx as ox
# Загрузка данных о дорогах Москвы
G = ox.graph.graph_from_place("Moscow", network_type="drive")
# Отображение дорог на карте
moscow_gdf = ox.geocoder.geocode_to_gdf("Moscow")
fig, ax = ox.plot.plot_graph(G, show=False, close=False, bgcolor="#111111", edge_color="#ffcb00", edge_linewidth=0.3, node_size=0)
moscow_gdf.plot(ax=ax, fc="#444444", ec=None, lw=1, alpha=1, zorder=-1)
# Настройка границ карты
margin = 0.02
west, south, east, north = moscow_gdf.union_all().bounds
margin_ns = (north - south) * margin
margin_ew = (east - west) * margin
ax.set_ylim((south - margin_ns, north + margin_ns))
ax.set_xlim((west - margin_ew, east + margin_ew))
plt.show()
📁 2. Сохраняем геометрическое описание города в формате GeoJSON и данные о вершинах и рёбрах в формате CSV
with open('Moscow.geojson', 'w') as file:
file.write(moscow_gdf.to_json())
nodes = G.nodes(data=True)
with open('nodes.csv', 'a') as file:
file.write("id,lat,lonn")
for (node, data) in nodes:
file.write("%d,%f,%fn" % (node, data.get("y"), data.get("x")))
edges = G.edges(data=True)
def decode_maxspeed(maxspeed):
match maxspeed:
case str():
match maxspeed.lower():
case "ru:urban": return 60
case "ru:rural": return 90
case "ru:living_street": return 20
case "ru:motorway": return 110
case _: return int(maxspeed)
case list(): return min(list(map(decode_maxspeed, maxspeed)))
case _: return maxspeed
with open('edges.csv', 'a') as file:
file.write("src,dst,maxspeed,length,geometryn")
for (src, dst, data) in edges:
maxspeed = decode_maxspeed(data.get("maxspeed", 999))
length = float(data.get("length"))
geometry = shapely.wkt.dumps(data.get("geometry"))
file.write("%d,%d,%d,%f,%sn" % (src, dst, maxspeed, length, geometry))
3. Используем библиотеку GraphFrames для обработки графов на Apache Spark
from pyspark.sql import SparkSession
spark = SparkSession.builder
.config("spark.jars.packages", "graphframes:graphframes:0.8.4-spark3.5-s_2.12")
.master("local[*]")
.appName("GraphFrames")
.getOrCreate()
nodes = spark.read.options(header=True).csv("nodes.csv")
edges = spark.read.options(header=True).csv("edges.csv")
# Вычисление времени прохождения рёбер
edgesT = edges.withColumn("time", edges["length"] / edges["maxspeed"])
# Построение графа
from graphframes import *
g = GraphFrame(nodes, edgesT)
🧭 4. Ищем кратчайший путь по времени
например, от Измайлово до ЖК Зиларт
src = "257601812"
dst = "5840593081"
paths = g.shortestPaths(landmarks=[dst])
paths.filter(F.col("id") == src).show(truncate=False)
💡 Результат: 40 шагов от точки A до точки B.
Такой подход легко масштабируется на миллионы маршрутов. Используйте Spark и GraphFrames для построения логистических моделей, маршрутизации и городского планирования.
🚀 Хотите прокачаться в работе с Big Data? Изучайте Spark! Записывайтесь на курс Spark Developer от OTUS — учитесь на реальных данных и продвинутых кейсах: https://vk.cc/cNrOCj
🎁Пройдите тест, чтобы успеть воспользоваться 10% скидкой на курс и бонусным промокодом
Принципы организации
распределенных баз данных
Автор: М. Тамер Ёcy
Год издания: 2021
#db #ru
Скачать книгу
распределенных баз данных
Автор: М. Тамер Ёcy
Год издания: 2021
#db #ru
Скачать книгу
👍1
Оптимизация запросов в PostgreSQL
Автор: Генриэтта Добровская
Год издания: 2022
#db #postgresql #ru
Скачать книгу
Автор: Генриэтта Добровская
Год издания: 2022
#db #postgresql #ru
Скачать книгу
🤔1
SQL — это не просто язык запросов, а ключ к управлению данными и поиску инсайтов. Хотите научиться писать эффективные запросы и работать с БД на продвинутом уровне? Мы научим этому с нашими опытными специалистами.
Если вы разработчик, SQL поможет вам лучше понимать структуру данных и взаимодействовать с аналитиками. Если аналитик — ускорит обработку данных и автоматизирует отчеты. На курсе разберем PostgreSQL, MySQL, SQL Server, научимся оптимизировать запросы и работать с большими объемами данных.
Освойте SQL и станьте ценным специалистом, который умеет не только извлекать данные, но и превращать их в мощный инструмент для бизнеса.
Оставьте заявку и получите скидку на обучение: https://vk.cc/cOItp0
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Если вы разработчик, SQL поможет вам лучше понимать структуру данных и взаимодействовать с аналитиками. Если аналитик — ускорит обработку данных и автоматизирует отчеты. На курсе разберем PostgreSQL, MySQL, SQL Server, научимся оптимизировать запросы и работать с большими объемами данных.
Освойте SQL и станьте ценным специалистом, который умеет не только извлекать данные, но и превращать их в мощный инструмент для бизнеса.
Оставьте заявку и получите скидку на обучение: https://vk.cc/cOItp0
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Трюк дня. SQL - Сортировка зеркальных строк
#tips
SELECT game, count(game)
FROM (
select
case when a < b then concat(a, '-' , b)
else concat(b , '-', a ) end as game
from data
) as t
GROUP by game|
#tips
Как? Добавьте к своим скилам навыки в проектировании архитектуры и интеграций веб-сервисов!
Рассмотрите — авторский курс про архитектуру и интеграции
с практикой.
—————
По результатам курса вы:
▫️научитесь выбирать стиль интеграции под вашу задачу;
▫️сможете проектировать с нуля и описывать интеграции в современных стилях (API: REST, SOAP, gRPC и др. + брокеры сообщений);
▫️поймете, как правильно собирать требования и моделировать в UML;
▫️подготовитесь к собеседованию, решив более 100 тестов;
▫️разработаете свой API на Python;
—————
🟢Вы получите большую базу фундаментальных знаний, доступ к урокам и обновлениям остается навсегда 💡
• Всю программу и отзывы смотрите в боте курса.
• Бонусный модуль про проектирование баз данных — нормализация, транзакции, основы DWH, индексы.
• Результат после прохождения курса: 15 рабочих проектов в портфолио.
• Доступ к чату учеников (общение, обмен опытом, помощь внутри сообщества)
🔹🔹 С чего начать?🔹🔹
С открытых бесплатных уроков по архитектуре и интеграциям в чат-боте курса. Переходите.
👇
@studyit_help_bot
Скидка на курс от канала —
1 000₽ по промокоду PROSQL до 30 августа
Please open Telegram to view this post
VIEW IN TELEGRAM
PostgreSQL — стандарт для работы с данными в России и мире. Но сможете ли вы использовать его на 100%? Оптимизировать запросы, развернуть кластер в облаке или автоматизировать администрирование?
На курсе «PostgreSQL. Advanced» вы научитесь:
- Работать с PostgreSQL в облаке, on-premise и Kubernetes.
- Оптимизировать производительность, снижая нагрузку на систему.
- Разворачивать отказоустойчивые кластеры и автоматизировать рутинные задачи.
Курс создан экспертами-практиками, его программа актуальна для работы в реальных проектах.
Пройдите вступительное тестирование и получите скидку на обучение: https://vk.cc/cOLs9V
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
На курсе «PostgreSQL. Advanced» вы научитесь:
- Работать с PostgreSQL в облаке, on-premise и Kubernetes.
- Оптимизировать производительность, снижая нагрузку на систему.
- Разворачивать отказоустойчивые кластеры и автоматизировать рутинные задачи.
Курс создан экспертами-практиками, его программа актуальна для работы в реальных проектах.
Пройдите вступительное тестирование и получите скидку на обучение: https://vk.cc/cOLs9V
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576