...

Программа shark для чего

Инструментарий специалиста по большим данным: Shark

DataReview.info

Мы продолжаем серию статей о программных продуктах, созданных, чтобы облегчить жизнь специалиста по большим данным – и в сегодняшней статье предлагаем обзор инструмента под названием Shark , обеспечивающего работу SQL -запросов в реальном времени в кластере узлов, объединенных системой Hadoop .

Что такое Shark?

Главный козырь Apache Hadoop – пакетная обработка данных, однако технология MapReduce не слишком приспособлена для интерактивных запросов SQL . Именно поэтому чаще всего запросы к данным в реальном времени осуществляются посредством пользовательских программ, обеспечивающих соединение кластера Hadoop с БД, работающей в рамках массово-параллельной архитектуры ( MPP ).

На практике это означает существование двух отдельных кластеров – и, соответственно, необходимость разработки программ-коннекторов между ними. Такая ситуация послужила толчком к появлению систем, обеспечивающих возможность быстрого доступа к БД напрямую из кластера Hadoop путем написания SQL -запросов. Естественно, коннекторы между Hadoop и быстрыми кластерами, работающими на MPP , никуда не денутся, но интерес к продуктам, которые позволяют перенести возможность создания интерактивных SQL -запросов в системы, существующие в рамках экосистемы Hadoop , стремительно растет.

Shark – один из важнейших инструментов для работы с SQL -запросами этого поколения. Как часть распределенной системы Spark , обеспечивающей анализ данных в оперативной памяти, Shark способен работать в одном кластере с Hadoop – более того, он полностью совместим с инструментом доступа к КХД Hive и поддерживает язык HiveQL , форматы данных Hive , а также пользовательские функции.

Чем Shark отличается от Hive?

Чем же эта новая «фишка» отличается от «коренного обитателя» экосистемы Apache Hadoop Hive ? Создатели Shark уверяют, что, согласно экспериментальным данным, их продукт способен выполнять широкий круг запросов гораздо быстрее. Что значит «гораздо»? Судите сами: Shark на диске обеспечивает скорость запросов, примерно в 5-10 раз превышающую аналогичный показатель у Hive , а при работе в оперативной памяти Shark работает уже примерно в 100 раз быстрее. Ощутимая разница, не правда ли?

Скорость работы – далеко не единственная положительная особенность Shark. Разработчикам удалось добиться высокого уровня масштабируемости и одновременно впечатляющей отказоустойчивости, при этом не обделив свое детище такими мощными функциями как совместное секционирование данных ( co — partition ) и внедрение машинного обучения в поток работ аналитика.

Преимущества Shark

Предлагаем кратко рассмотреть эти и другие преимущества Shark .

  • Контроль над секционированием данных = Быстрое, распределенное использование оператора JOIN . Shark позволяет пользователям секционировать данные, используя определенный ключ. В частности, если требуется часто соединять таблицы, их можно секционировать с использованием общего ключа ( join -ключа). Этот прием носит название совместного секционирования и используется для того, чтобы существенно повысить скорость работы оператора JOIN при работе с большими таблицами.
  • Отказоустойчивость. Shark быстро восстанавливается после отказа узла, продолжая работу с запросами после реконструкции утерянных секций данных. Подобные проблемы не слишком влияют на производительность Shark – в любом случае, это гораздо быстрее, чем выполнять запрос заново.
  • «Оптимизация» SQL . Shark включает в себя простой оптимизатор ( PDE ), который использует статистические данные (например, приблизительные гистограммы) для динамического изменения запроса при необходимости.
  • Поддержка машинного обучения. Фундаментальный объект данных в Spark – так называемый распределенный эластичный набор данных ( RDD ), который может храниться в кэше оперативной памяти узлов кластера. В рамках Spark можно не только создавать такие объекты, но и применять к ним функции машинного обучения на языках Scala и Java , а в скором времени и Python . Самое приятное во всей этой истории – скорость даже таких сложных вычислений в рамках Spark в 100 раз выше, чем у собственных инструментов Hadoop .

С ростом объемов данных и, как следствие, популярности распределенных вычислений и наиболее приспособленного для подобных задач Apache Hadoop , встал вопрос увеличения скорости и уровня отказоустойчивости SQL -запросов, желательно при помощи инструмента, способного работать в рамках единственного кластера. Ответ явился в виде Shark – распределенного инструмента для быстрой работы с SQL , обладающего целым «букетом» полезных функций, таких как поддержка машинного обучения.

В следующих материалах мы расскажем о других программных продуктах для работы с большими данными – на очереди обзоры по Spark , Kafka , Caffe и другим полезным «помощникам» специалиста по большим данным.

Автор: Елизавета Филиппова

Руководство по использованию Wireshark

Руководство по использованию Wireshark

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

Поговорим об этой программе подробнее.

Назначение программы Wireshark

Программный продукт Wireshark перехватывает входящие и исходящие TCP-пакеты. И благодаря встроенным функциям мониторит содержимое, ищет ошибки. Заметно упрощает использование программы система фильтров, а также простой и логичный графический интерфейс на фреймворке GTK+ с поддержкой открытого API (внешне окна похожи на Windows).

Wireshark

  1. Кроссплатформенность – выпускаются версии под Linux, Windows, macOS.
  2. Бесплатность – распространяется под лицензией GNU GPL v2.
  3. Простота – инсталляция заключается в нескольких нажатиях кнопки «Next».

Изначально разработчики назвали проект Ethereal, и предназначался он исключительно для Ethernet-сетей. В 2006 году из-за проблем с торговой маркой произошло переименование. По функционалу программа схожа с tcpdump, но получила большую популярность за счет интерфейса и богатых возможностей сортировки и фильтрации.

Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей

Основные возможности Wireshark

Сетевой трафик преобразуется буквально «на лету». В программу «заложена» структура различных протоколов, поэтому пользователь работает с перехватываемым информационным потоком. Единственное ограничение заключается в списке поддерживаемых стандартов – он ограничивается возможностями библиотеки pcap. Правда, функционал легко расширяется скриптами на языке Lua.

Wireshark анализ сети

Востребованные функции сетевого анализатора Wireshark:

  1. Захват пакетов в реальном времени или при чтении из файла.
  2. Поддержка проводного интерфейса Ethernet, беспроводных IEEE 802.11, PPP и локальных виртуальных интерфейсов.
  3. Отсеивание сетевых пакетов по большому количеству установленных фильтров, включая расшифровку только VoIP-звонков, HTTPS-трафика.
  4. Подсвечивание разных протоколов при смешанном трафике, выделение TCP, HTTP, FTP, DNS, ICMP и т.д.
  5. Расшифровка WEP-, WPA-трафика беспроводных сетей при наличии ключа безопасности и Handshake.

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

Интерфейс программы

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

Анализ сетевого трафика

  1. Файл – содержит команды для открытия, сохранения, импорта/экспорта дампов данных.
  2. Редактирование – изменение общих параметров программы, включая интерфейс.
  3. Просмотр – настройка отображения отдельных блоков, масштаб, цветовое выделение.
  4. Запуск – подсказка по управлению работой программы при помощи клавиш.
  5. Захват – старт, остановка, перезапуск сниффинга трафика указанной сети.
  6. Анализ – система фильтров протоколов, декодирование, проверка содержимого.
  7. Статистика – отчеты по перехваченному трафику, детально по каждому протоколу.
  8. Телефония – отдельный блок функциональных модулей для расшифровки IP-телефонии.

Также выделены опции для работы с сетями Wi-Fi и Bluetooth (пункт «Беспроводные»). Если для анализа сетевого трафика понадобилось подключение дополнительных скриптов, поддержка Lua активируется в разделе «Инструменты». Тестовый запуск перехватчика затруднений не вызывает, достаточно выбрать нужную сеть и нажать «Запуск». Процесс будет идти непрерывно до ручного закрытия программы или нажатия «Стоп».

Как пользоваться Wireshark

В большинстве случаев анализ перехваченного трафика происходит в офлайн-режиме. Сначала его сохраняют в файл (дамп) и только потом проводят исследование. Такой подход позволяет снизить риск ошибок, приводящих к потере важной информации (например, когда неправильно настроили в Wireshark встроенные фильтры или была неверно поставлена задача по перехвату). Сохраненный файл доступен для повторного анализа без ограничений.

Wireshark - интерфейс

Основные приемы:

  1. Поиск по пакетам. Открывается панель поиска стандартной комбинацией клавиш Ctrl+F. После активации режима доступно несколько вариантов поиска. Наиболее востребованный режим «Дисплейный фильтр», он предназначен для обнаружения пакетов, отвечающих заданному выражению. Второй интересный вариант – «Строка».
  2. Отметка пакетов. Все интересующие нас пакеты помечаются цветовым выделением с помощью комбинации кнопок Ctrl+M (или через пункт выпадающего меню после нажатия правой кнопки мыши «Выполнить/Отменить пометку пакета»). Перемещение между ними работает комбинациями Shift+Ctrl+N (следующий) и Shift+Ctrl+B (предыдущий).
  3. Фильтры. Задают критерии исключения и включения в анализируемую подборку пакетов. Чем больше анализируемый дамп, тем детальнее фильтруется информация. Это упрощает работу с потоком данных и снижает риски механических ошибок пользователя.

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

В любом случае оптимально сначала опробовать все возможности и лишь затем пытаться применять утилиту по прямому назначению.

При подготовке материала использовались источники:
https://datareview.info/article/instrumentariy-spetsialista-po-bolshim-dannyim-shark/
https://timeweb.com/ru/community/articles/rukovodstvo-po-ispolzovaniyu-wireshark

Оцените статью