Pull to refresh
4
0.1
Send message

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

Level of difficultyMedium
Reading time12 min
Views43K

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

В этой статье речь пойдет не о напольных покрытиях, а о програмном продукте, более современном конкуренте 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
Views1.8K

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

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

Читать далее
Total votes 13: ↑13.5 and ↓-0.5+14
Comments0

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

Level of difficultyEasy
Reading time7 min
Views1.7K

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

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

Python streaming (spark+kafka)

Level of difficultyEasy
Reading time4 min
Views4.2K

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

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

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

Level of difficultyMedium
Reading time7 min
Views2.6K

Всем привет!

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

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

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

Level of difficultyEasy
Reading time7 min
Views71K

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

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

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

Читать далее
Total votes 71: ↑63 and ↓8+55
Comments142

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

Level of difficultyEasy
Reading time11 min
Views9.2K

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

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

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

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

Level of difficultyMedium
Reading time6 min
Views20K

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

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

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

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

Level of difficultyMedium
Reading time11 min
Views53K


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

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

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

Reading time4 min
Views12K

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

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

Level of difficultyMedium
Reading time5 min
Views30K

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

Читать далее
Total votes 36: ↑35 and ↓1+34
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
Comments31

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

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

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

User-defined aggregation functions in Spark

Level of difficultyMedium
Reading time6 min
Views179

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 17: ↑16 and ↓1+15
Comments1

Как перезапускать PySpark-приложение и зачем это может понадобиться

Level of difficultyHard
Reading time15 min
Views1.5K

Сегодня все крупные компании сохраняют и обрабатывают большие объёмы информации, причём стремятся делать это максимально эффективным для бизнеса способом. Меня зовут Мазаев Роман и я работаю в проекте загрузки данных на платформу SberData. Мы используем PySpark, который позволяет очень быстро распределённо обрабатывать данные в оперативной памяти узлов нашего кластера на базе Hadoop. Я поделюсь способом, с помощью которого можно снизить потребление ресурсов кластера за счёт перезапуска PySpark-приложений между выполняемыми Spark-задачами, и расскажу, как это делать правильно.

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

Docker для новичков — #1 Что такое контейнер, image, DockerHub?

Level of difficultyEasy
Reading time7 min
Views14K

В этой статье я расскажу о том, что такое Docker, Docker Desktop и как этим пользоваться! Два способа создания image, значения вкладок Docker Desktop

Читать далее
Total votes 24: ↑19.5 and ↓4.5+15
Comments2

SSH-Туннели простыми словами

Level of difficultyEasy
Reading time7 min
Views15K

В какой-то момент у меня возникла необходимость разобраться с простыми SSH-туннелями: как из запускать и какие туннели могут помочь мне (обычному web-разработчику). Разобраться в этом удалось и я решил поделиться пояснениями в простой понятной форме.

Читать далее
Total votes 20: ↑19 and ↓1+18
Comments27

Zigbee датчик присутствия на сенсоре LD-2410

Reading time2 min
Views7.6K

Это уже вторая версия датчика присутствия на чипе LD-2410. Первая была максимально простая, прошивка была собрана на PTVO, все хорошо работало, но захотелось немного расширить функционал.

Читать далее
Total votes 15: ↑15 and ↓0+15
Comments6
1
23 ...

Information

Rating
2,389-th
Registered
Activity