Как стать автором
Обновить
-5
0

Пользователь

Отправить сообщение

Практика использования Spark SQL, или Как не наступить на грабли

Время на прочтение17 мин
Количество просмотров40K
Если вы работаете с SQL, то вам это будет нужно очень скоро. Apache Spark – это один из инструментов, входящих в экосистему Hadoop, который обрабатывает данные в оперативной памяти. Одним из его расширений является Spark SQL, позволяющий выполнять SQL-запросы над данными. Spark SQL удобно использовать для работы посредством SQL-запросов с большими объемами данных и в системах с высокой нагрузкой.

Ниже вы найдёте некоторые нехитрые приёмы по работе со Spark SQL:

  • Как с помощью сбора статистики и использования хинтов оптимизировать план выполнения запроса.
  • Как, оставаясь в рамках SQL, эффективно обрабатывать соединения по ключам с неравномерным распределением значений (skewed joins).
  • Как организовать broadcast join таблицы, если её размер слишком велик.
  • Как средствами Spark SQL понять, сколько приложение Spark реально использовало памяти и ядер кластера в развёртке по времени.
Читать дальше →

Руководство для начинающих по Spark UI: Как отслеживать и анализировать задания Spark

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров8.6K

Публикуем перевод гайда по Spark UI. Это встроенный инструмент Apache Spark, который предоставляет полный обзор среды Spark: узлов, исполнителей, свойств и параметров среды, выполняемых заданий, планов запросов и многого другого. Кроме теории в статье вы найдёте несколько примеров, которые помогут попрактиковаться в отслеживании и анализе заданий Spark.

Читать далее

Работа с форматом AVRO в python — библиотека fastavro

Время на прочтение6 мин
Количество просмотров30K


В статье описывается использование формата сериализации AVRO в языке python, дается краткое описание AVRO-схемы с пояснениями наиболее неочевидных моментов, приводятся конкретные примеры кода на python. Намеренно исключены из рассмотрения вопросы эволюции схем (schema evolution), RPC и AVRO-IDL.


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

Читать дальше →

Есть ли жизнь после FAANG компании или мой опыт собеседований в Северной Америке, 20+ компаний за 3 недели

Время на прочтение14 мин
Количество просмотров47K

Я хотел бы поделиться недавним опытом собеседований на рынках Канады и США на позицию инженера данных. У меня был больше научный интерес, чем необходимость. За 3 недели я побщался более чем с 20 компаниями в Канада и США, чтобы оценить возможности рынка и тренды индустрии аналитики.

Узнать результаты

Изучаем Python: модуль argparse

Время на прочтение6 мин
Количество просмотров140K
Если вы занимаетесь обработкой и анализом данных с использованием Python, то вам, рано или поздно, придётся выйти за пределы Jupyter Notebook, преобразовав свой код в скрипты, которые можно запускать средствами командной строки. Здесь вам и пригодится модуль argparse. Для новичков, привыкших к Jupyter Notebook, такой шаг означает необходимость покинуть зону комфорта и перейти в новую среду. Материал, перевод которого мы публикуем сегодня, написан для того, чтобы облегчить подобный переход.


Модуль argparse
Читать дальше →

Заметки о Unix: два сценария работы с конвейерами

Время на прочтение3 мин
Количество просмотров11K
Мне встречалось множество рекомендаций о повышении безопасности использования shell-скриптов в Bash путём включения опции pipefail (например — это рекомендуется в данном материале 2015 года). Это, с одной стороны, хорошая рекомендация. Но включение pipefail может привести к конфликту. В одном из двух сценариев использования конвейеров эта опция показывает себя замечательно, а вот в другом то, к чему приводит её включение, выглядит просто ужасно.


Читать дальше →

«Простое» программирование на python

Время на прочтение6 мин
Количество просмотров49K


functools (это такая свалка для всяких ненужных мне вещей :-).
— Гвидо ван Россум

Может показаться, что статья о ФП, но я не собираюсь обсуждать парадигму. Речь пойдет о переиспользовании и упрощении кода — я попытаюсь доказать, что вы пишете слишком много кода, поэтому он сложный и тяжело тестируется, но самое главное: его долго читать и менять.


В статье заимствуются примеры и/или концепции из библиотеки funcy. Во-первых, она клевая, во-вторых, вы сразу же сможете начать ее использовать. И да, нам понадобится ФП.

Читать дальше →

Почему вам стоит отказаться от использования timestamp в PostgreSQL

Время на прочтение10 мин
Количество просмотров72K

Не секрет, что работа с часовыми поясами — боль, и многие разработчики объяснимо стараются ее избегать. Тем более что в каждом языке программирования / СУБД работа с часовыми поясами реализована по-разному.

Среди тех, кто работает с PostgreSQL, есть очень распространенное заблуждение про типы данных timestamp (который также именуется timestamp without time zone) и timestamptz (или timestamp with time zone). Вкратце его можно сформулировать так:

Мне не нужен тип timestamp with time zone, т.к. у меня все находится в одном часовом поясе — и сервер, и клиенты.

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

Читать далее

Создание библиотеки Python: полный гайд

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров35K

Создайте свою библиотеку для Python и загрузите на PyPi, сейчас!

В этом туториале я максимально понятно и подробно расскажу о том, как создать свою библиотеку для Python и загрузить её на PyPi, для того, что бы её мог использовать любой!

Читать далее

Профилирование Python — почему и где тормозит ваш код

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров25K

Представьте ситуацию: вы написали скрипт для обработки каких-то данных на ноутбуке, ушли попить кофе, а когда пятнадцать минут спустя вернулись, завершилось едва ли 10%.

Почему скрипт работает так медленно? Какая его часть тормозит? Дело в чтении данных, их обработке или сохранении? Как ускорить исполнение? Действительно ли скрипт вообще медленный?

Ответить на все эти вопросы поможет инструмент под названием «профилировщик» (profiler).
Читать дальше →

Превращаем любой фреймворк в FastAPI. На прицеле Flask

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров6.3K

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

На Хабре уже была отличная статья о том, как устроен FastAPI изнутри. Там достаточно подробно рассмотрены все ключевые концепции этого фреймворка, а также разобраны детали его реализации на базе Starlette.

В этой же статье я хочу поделиться некоторым опытом создания своего инструмента для сериализации данных на основе pydantic. После прочтения этой статьи вы сможете превратить практически любой Python фреймворк в идейное подобие FastAPI. Причем речь идет не только об HTTP фреймворках. Никто не запрещает вам сделать, например, фреймворк для создания CLI, или telegram-ботов, или того, чего ваша душа пожелает.

Интересно? Тогда добро пожаловать!

Читать далее

Как использовать Parquet и не поскользнуться

Время на прочтение7 мин
Количество просмотров74K


О хранении данных в Parquet-файлах не так много информации на Хабре, поэтому надеемся, рассказ об опыте Wrike по его внедрению в связке со Spark вам пригодится.
В частности, в этой статье вы узнаете:

— зачем нужен “паркет”;
— как он устроен;
— когда стоит его использовать;
— в каких случаях он не очень удобен.

Читать дальше

Как коммитить в open source. Пошаговый гайд

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров9.1K

Инструкция написана для сервиса github. Вам нужно войти в свой аккаунт или зарегистрироваться.

Все команды вводятся в терминале.

Шаг 1

Делаем fork (копию) нужного проекта. Переходим в свой аккаунт и заходим в только что созданный fork.

Читать далее

Apache Spark в «боевых» проектах — опыт выживания

Время на прочтение12 мин
Количество просмотров26K
Предлагаем вашему вниманию материалы по мотивам выступления Александра Сербула на конференции BigData Conference. Я, как автор и докладчик, текст немного отредактировал и добавил современных мыслей и актуальных проблем, поэтому надеюсь пост принесет вам как дополнительные практические полезные знания в отрасли, так и пищу для размышлений — куда податься со своими знаниями. Итак — в бой!
Читать дальше →

Холодные запуски AWS Lambda — решение проблемы

Время на прочтение12 мин
Количество просмотров3.1K

Холодные запуски могут оказаться губительными для производительности AWS Lambda, особенно если вы создаёте клиентоориентированное приложение, которое должно работать в режиме реального времени. Представьте себе, что пользователь отправил приложению запрос, а ваша функция AWS Lambda ещё не запущена. В таком случае система AWS должна будет сначала развернуть ваш код и запустить новый контейнер — и только после этого выполнит запрос. Соответственно, выполнение запроса может занять гораздо больше времени: Lambda-функция начнёт работать только тогда, когда для неё будет готов контейнер.

Читать перевод далее

Как подготовиться к собеседованию в зарубежных компаниях по методике STAR и почему это не очередная выдумка HR

Время на прочтение9 мин
Количество просмотров15K

Среди российских IT-специалистов бытует мнение, что главное в компании — выполнять обязанности из должностной инструкции. А всё, что касается гибких навыков и корпоративной культуры — это лишние опции, думать о которых не обязательно. Это показывают даже простейшие опросы на Хабре — и рейтинги статей. К сожалению, иногда это тормозит развитие карьеры и снижает шансы на трудоустройство в международные компании. 

Читать далее

6 типов собеседований. Как айтишнику не провалить отбор в иностранную компанию

Время на прочтение13 мин
Количество просмотров16K

Да, существует 6 разных типов собеседований на английском языке со специфическими вопросами – что только эйчары не намудрят. Но у каждого job interview есть своя цель, и понимание этой цели поможет вам правильно подготовиться. Обсуждаем все этапы отбора: от первичного звонка с рекрутером – до финального технического интервью.

Читать целиком

Как сдать английский язык на сертификат ESOL SELT В1 для визы Skilled Worker

Время на прочтение6 мин
Количество просмотров8.8K

Знакомый айтишник собрался подаваться на британскую визу. Среди прочих документов для подачи на Skilled Worker visa потребовался сертификат В1, которого у него не было, и надо было срочно готовиться к экзамену. Поэтому он обратился ко мне, как к преподавателю английского.  Делюсь собранными данными, своими рекомендациями, если вы соберетесь сдавать SELT В1, и личным опытом моего знакомого. Приложенные скриншоты взяты из видео LanguageCert с информацией по прохождению Listening/Reading/Writing /Speaking, которые доступны здесь и здесь. Материалы с пробными экзаменами, включая аудиоматериалы и ответы, можно скачать по ссылке.

Запись на сдачу, cтруктура экзамена и тайминг

Записаться в любой из центров можно здесь. Экзамен состоит из двух блоков (чтение/аудирование/письмо и устная часть) и в Армении проходит в American University of Armenia. Необходимо выбрать дату отдельно на обе части. Знакомый записывался на сдачу за месяц до экзамена. Он выбрал временные слоты таким образом, чтобы пройти все части за один день, и заплатил 235 долларов по карте он-лайн. 

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

Оба блока проходят он-лайн на компьютере с наушниками в лингафонном кабинете: open-space с отдельными столами и компьютерами для каждого студента. Устная часть - это интервью с сертифицированным инструктором. Темы базируются на ежедневных ситуаций и практическом опыте взрослого человека.

Читать далее

Как найти работу в IT в Европе в 2022 году: востребованные роли, компетенции, типы компаний

Время на прочтение9 мин
Количество просмотров51K

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

Тренды, самые востребованные навыки и отрасли, основные ошибки русскоязычных специалистов, виды собеседований, советы по soft skills.

Продолжить чтение

Как защититься от dos/ddos, или Как я начал вновь высыпаться по ночам

Время на прочтение16 мин
Количество просмотров31K

Приветствую тебя, дорогой читатель. Скорее всего, если ты это читаешь, то уже очень устал получать кучу алертов о том, что твоя площадка загибается от регулярных набегов печенегов ботов или других нежелательных посетителей контента. Я надеюсь, что эта статья поможет тебе спать спокойно и оградит тебя от недугов, а также внесет больше ясности в твое понимание теории и практики защиты от dos и ddos. Приятного чтения!

Читать далее

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность