Pull to refresh
4
0.1
Send message

Отображение иерархии в SQL запросе

Level of difficultyMedium
Reading time7 min
Views2.9K

В процессе тестирования одного курса по SQL на stepik.org встретилась задача, из которой сочинилась другая, более интересная:

Необходимо с помощью одного SQL запроса с использованием обобщенных табличных выражений отобразить иерархию, в соответствии с иллюстрацией выше

Читать далее
Total votes 11: ↑12 and ↓-1+13
Comments3

Функции ранжирования: RANK, DENSE_RANK, and NTILE

Level of difficultyHard
Reading time6 min
Views995

В предыдущей статье обсуждалась функция ROW_NUMBER. Сейчас же мы рассмотрим другие функции ранжирования: RANK, DENSE_RANK и NTILE. Начнем с RANK и DENSE_RANK. Эти функции по функциональности и реализации аналогичны ROW_NUMBER. Разница в том, что ROW_NUMBER присваивает уникальное (возрастающее) значение каждой строке без учета связей в значениях ORDER BY, а функции RANK и DENSE_RANK присваивают одно и то же значение строкам, имеющим одинаковое значение ORDER BY. Разница между функциями RANK и DENSE_RANK заключается в том, как значения присваиваются строкам. Проще всего проиллюстрировать разницу между всеми этими функциями на простом примере:

Читать далее
Total votes 4: ↑5.5 and ↓-1.5+7
Comments2

Самая маленькая контролька на Arduino с дисплеем ФИНАЛ

Level of difficultyEasy
Reading time1 min
Views12K

Привет друзья, сегодня мы соберём самую маленькую контрольку на ATTINY85, я знаю, что никто из Вас не ждал продолжения этого проекта, но крупные проекты требуют много времени, а видео на канале не могут выходить раз в три месяца. Поэтому сегодня, мы завершим этот проект.

Несмотря на свои размеры, контролька обладает довольно большим функционалом по сравнению со своими китайскими собратьями с AliExpress.

Первое, контролька имеет функцию прозвонки, если прозваниваемый провод цел, на экране появляется надпись MASSA, SMD зумера под такие размеры платы я не нашёл, поэтому вместо него на выход PB0 (он же AREF) поставил конденсатор, для стабильности измерений (более подробно об этом мы поговорим при разборке скетча).

Второе, контролька может измерять напряжение в диапазоне от 0 до 50 вольт.

Третье, контролька имеет защиту от переплюсовки.

И при всех своих преимуществах, печатная плата нашего измерительного прибора меньше спичечного коробка.

Читать далее
Total votes 21: ↑17 and ↓4+13
Comments25

Выбор загрузочного диска домашнего компьютера из Home Assistant

Level of difficultyMedium
Reading time7 min
Views5.6K

Мой основной компьютер - macbook, который всегда со мной, и на котором я делаю почти все что нужно как дома так и вне его. Но также есть домашний комп, на котором бывает оптимальнее делать ресурсоемкие задачи. Кроме того, некоторые вещи на маке делать неудобно или вовсе невозможно, поэтому на домашнем установлены windows, ubuntu и proxmox с десятком виртуалок под разные случаи. И меня всегда очень напрягала невозможность удаленно включить нужную операционную систему на домашнем, чтобы потом подключиться к ней удаленно и сделать все что нужно.

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

Читать далее
Total votes 6: ↑8 and ↓-2+10
Comments19

Паркет устарел. Пора менять

Level of difficultyMedium
Reading time12 min
Views50K

Паркет устарел. Пора менять

В этой статье речь пойдет не о напольных покрытиях, а о програмном продукте, более современном конкуренте Apache Parquet, продукте который изначально в 2014 году был разработан компанией Huawei как закрытое и проприетарное ПО, но в 2016 году был преобразован в открытый код и передан в управление Apache Software Foundation, где сейчас поддерживается и разрабатывается open-source сообществом. Речь идет о Apache CarbonData.

Читать далее
Total votes 11: ↑10 and ↓1+9
Comments15

SPARK для «малышей»

Level of difficultyEasy
Reading time14 min
Views4K

Примеры кода на Python для работы с Apache Spark для «самых маленьких» (и немного «картинок»).

Данная статья представляет собой обзор основных функций Apache Spark и рассматривает способы их применения в реальных задачах обработки данных. Apache Spark — это мощная и гибкая система для обработки больших объёмов данных, предлагающая широкий спектр возможностей для аналитики и машинного обучения. В нашем обзоре мы сфокусируемся на ключевых функциях чтения, обработки и сохранения данных, демонстрируя примеры кода, которые помогут новичкам быстро включиться в работу и начать использовать эти возможности в своих проектах.

Читать далее
Total votes 19: ↑19.5 and ↓-0.5+20
Comments0

3 способа запуска Spark в Kubernetes из Airflow

Level of difficultyEasy
Reading time7 min
Views1.8K

После того, как я научился запускать spark-submit с мастером в Kubernetes и даже получил ожидаемый результат, пришло время ставить мою задачу на расписание в Airflow. И тут встал вопрос, как это правильно делать. Во всемирной паутине предлагается несколько вариантов и мне было непонятно, какой из них стоит выбрать. Поэтому я попробовал некоторые из них и сейчас поделюсь полученным опытом.

Читать далее
Total votes 9: ↑8 and ↓1+7
Comments0

Python streaming (spark+kafka)

Level of difficultyEasy
Reading time4 min
Views4.5K

В этой статье, посвященной Python streaming с использованием Spark и Kafka мы рассмотрим основные шаги по настройке окружения и запуску первых простых программ

Читать далее
Total votes 3: ↑3 and ↓0+3
Comments7

Spark. План запросов на примерах

Level of difficultyMedium
Reading time7 min
Views3.5K

Всем привет!

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

Читать далее
Total votes 7: ↑7.5 and ↓-0.5+8
Comments4

Что делать, если кандидат оказался сеньором или психом: советы на случай форс-мажоров

Level of difficultyEasy
Reading time7 min
Views73K

Меня зовут Александр Гирев, я Android-разработчик и технический интервьюер. В одной компании я выполнял роль interview expert: следил за качеством собеседований, готовил рекомендации и матрицы вопросов, обучал начинающих интервьюеров.

Однажды на интервью я спросил кандидата, был ли у него опыт проведения технических собеседований. Кандидат спросил: «Что за опыт — задать пару технических вопросов?». Услышав это, я слегка подвис, ведь я считал интервью серьёзным навыком, почти искусством.

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

Читать далее
Total votes 73: ↑65 and ↓8+57
Comments150

Более 250 бесплатных курсов и ресурсов по аналитике

Level of difficultyEasy
Reading time11 min
Views11K

Большая подборка для аналитиков данных, продуктовых аналитиков, веб аналитиков, маркетинговых аналитиков и особенно тех, кто хочет ими стать. От автора Telegram-канала «Аналитика и Growth mind-set».

Но прежде несколько важных моментов:

Читать далее
Total votes 17: ↑15.5 and ↓1.5+14
Comments4

Что можно сделать на личном веб-сайте

Level of difficultyMedium
Reading time6 min
Views21K

Blot просто берёт и превращает папку в сайт. Текстовые файлы в папке автоматически становятся веб-страницами на сайте

Мы уже упоминали десяток способов, как использовать личный VPS в минимальной конфигурации за 130 рублей. Это облачное хранилище для файлов, архив для бэкапов, почтовый сервер, игровой сервер и т. д. На него можно поставить практически любой софт: 0,5 ГБ оперативной памяти хватит для запуска большинства linux-приложений (без GUI).

И веб-сервер с личным сайтом и блогом — одно из таких приложений. Почему нет? За доллар в месяц вложение в личный бренд и технологическую независимость окупится многократно.
Читать дальше →
Total votes 48: ↑36 and ↓12+24
Comments30

Как я делал сеть на 10 гигабит с минимальным бюджетом

Level of difficultyMedium
Reading time11 min
Views55K


Решил я ускорить тривиальную задачу в виде передачи файлов с одного компьютера на маленький домашний NAS. Раньше 10 гигабит были для меня чем-то заоблачным (с учётом цены на свичи, а также сетевые карты). Но благодаря апгрейду дата-центров, а также свежим чипам для свичей от Realtek, апгрейд оказался недорогим и безболезненным.

О выборе железа и тестах — под катом.
Читать дальше →
Total votes 124: ↑129.5 and ↓-5.5+135
Comments135

Для дома и офиса: 5 моделей мини-ПК, позволяющих решать разные задачи

Reading time4 min
Views12K

Производители электронных устройств продолжают выпускать все новые и новые модели. Миниатюрные ПК — вовсе не исключение. Кажется, что это разнообразие просто бесконечно. В подборке — модели, которые привлекли мое внимание по какой-либо причине. Например, производительность, необычный корпус или что-то еще. Все самое интересное — под катом.
Читать дальше →
Total votes 36: ↑36.5 and ↓-0.5+37
Comments39

Управляем умным домом Home Assitant через Алису и без интернета. Часть 1

Level of difficultyMedium
Reading time5 min
Views34K

В этой статье я бы хотел рассказать о том, как можно управлять умным домом и всеми устройствами (не только Zigbee) в Home Assistant даже без подключения к интернету.

Читать далее
Total votes 39: ↑38 and ↓1+37
Comments44

Энциклопедия контроллеров и обучающий проект (на Хабре)

Level of difficultyEasy
Reading time7 min
Views13K


Я давно занимаюсь микроконтроллерной тематикой и делюсь своими изысканиями (частью изысканий) в блоге на Хабре. Делаю я это довольно давно и количество статей уже перевалило за сотню, и, в полном соответствии с воззрениями (старины) Гегеля, количество явно переросло в качество.

Сам я уже пользуюсь своим блогом как справочником, когда мне нужно найти ту или иную информацию по контроллерам, но делать это не очень удобно, поскольку не так легко найти нужную статью среди десятков других.

Настало время как-то систематизировать эту информацию, прокомментировать и поделиться своими мыслями на эту тему. А в практическом плане этот каталог (мини-энциклопедию) можно использовать для выбора DIY контроллеров для своих проектов или, учитывая опубликованные примеры кода и переводы туториалов, как обучающее пособие по их программированию.

Итак…
Читать дальше →
Total votes 59: ↑59.5 and ↓-0.5+60
Comments11

Паяем Ардуино-совместимый контроллер и играем с интереснейшим шилдом

Level of difficultyEasy
Reading time14 min
Views14K


Привет, Хабр! Вас тоже огорчало, что PLS-разъёмы плат Arduino Uno и Mega установлены без соблюдения сетки с шагом 2.54 мм, отчего невозможно создать собственный шилд на базе обычной макетки под пайку?

А ещё обидно, что на упомянутых платах не предусмотрено никаких кнопок, кроме сброса, а программно управляемый светодиод есть, но всего один, если не считать присоединённых к линиям Tx и Rx, задействованным при загрузке скетча и обмене данными с компьютером. То есть, без подключения внешних компонентов почти ничего нельзя сделать.

Сегодня я соберу вариант Arduino Uno с тремя подключёнными к GPIO светодиодами и тремя кнопками, не считая сброса. А расположение разъёмов остаётся стандартным, чтобы не терять совместимости с шилдами.
Читать дальше →
Total votes 47: ↑50 and ↓-3+53
Comments32

Небольшая щепотка ультразвуковых чудес

Level of difficultyMedium
Reading time9 min
Views9.5K
Картинка Freepik

Несмотря на свою практически неслышимость и незримость, ультразвук имеет множество применений в современной жизни. В связи с этим мы и рассмотрим некоторые весьма любопытные его реализации, вдвойне интересные ещё с той точки зрения, что они содержат полный набор исходников проектов, что позволяет любому желающему испытать свои силы в реализации описанного. Итак…
Читать дальше →
Total votes 68: ↑65.5 and ↓2.5+63
Comments23

User-defined aggregation functions in Spark

Level of difficultyMedium
Reading time6 min
Views209

Below, we will discuss user-defined aggregation functions (UDAF) using org.apache.spark.sql.expressions.Aggregator, which can be used for aggregating groups of elements in a DataSet into a single value in any user-defined way.

Let’s start by examining an example from the official documentation that implements a simple aggregation

Read more
Total votes 1: ↑1 and ↓0+1
Comments0

Оптимизируем параметры запуска приложения Spark. Часть первая

Reading time5 min
Views14K

Привет! Меня зовут Андрей Чучалов, я работаю в билайне, и в этом посте я расскажу про оптимизацию параметров запуска приложений в Spark, поиск проблем и повышение производительности. Разберем запуск приложений Spark в базовой и расширенной версиях, покажу методы расчёта основных параметров работы приложения для производительности и эффективности использования доступных ресурсов кластера. Бонусом — о том, как всё это привязано к деньгам, и где сэкономить можно, а где — не стоит.

Для чего это вообще нужно

Спараметризировать приложение — это не такая уж грандиозная задача, а вот попытаться понять взаимосвязь эффективности работы приложения со стоимостными параметрами такой работы — это уже сложнее. Тут вам пригодится своеобразное «боковое зрение».

В рассказе и на примерах я буду исходить из того, что у нас по умолчанию процесс ETL-обработки данных правильно, с самой программой всё ОК и она корректно спроектирована. И оборудование в составе кластера тоже рабочее и достаточное для запуска приложения. Это позволит говорить именно о влиянии параметров на эффективность.

Читать далее
Total votes 18: ↑17.5 and ↓0.5+17
Comments1
1
23 ...

Information

Rating
2,968-th
Registered
Activity