دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش:
نویسندگان: Holden Karau. Rachel Warren
سری:
ISBN (شابک) : 9781491943205
ناشر: O'Reilly Media
سال نشر: 2016
تعداد صفحات: 175
[91]
زبان: English
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود)
حجم فایل: 6 Mb
در صورت تبدیل فایل کتاب High Performance Spark: Best practices for scaling and optimizing Apache Spark به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب Spark با کارایی بالا: بهترین روش ها برای مقیاس بندی و بهینه سازی اسپارک آپاچی نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
Apache Spark وقتی همه چیز کلیک می کند شگفت انگیز است. اما اگر بهبودهای عملکردی را که انتظار داشتید ندیده اید، یا هنوز به اندازه کافی برای استفاده از Spark در تولید احساس اعتماد ندارید، این کتاب کاربردی برای شما مناسب است. نویسندگان هولدن کارائو و ریچل وارن بهینهسازیهای عملکردی را نشان میدهند تا به درخواستهای Spark شما کمک کنند سریعتر اجرا شوند و اندازههای داده بزرگتر را مدیریت کنند، در حالی که از منابع کمتری استفاده میکنند. ایده آل برای مهندسان نرم افزار، مهندسان داده، توسعه دهندگان و مدیران سیستم که با برنامه های داده در مقیاس بزرگ کار می کنند، این کتاب تکنیک هایی را شرح می دهد که می توانند هزینه های زیرساخت داده و ساعات توسعه دهندگان را کاهش دهند. نه تنها درک جامع تری از Spark به دست خواهید آورد، بلکه یاد خواهید گرفت که چگونه آن را آواز بخوانید. با این کتاب، شما بررسی خواهید کرد: چگونه رابط های جدید Spark SQL عملکرد را نسبت به ساختار داده RDD SQL بهبود می بخشد؟ برای حل مشکلات عملکرد در پارادایم جفت کلید/مقدار Spark نوشتن کد Spark با کارایی بالا بدون Scala یا JVM نحوه آزمایش عملکرد و عملکرد هنگام اعمال پیشرفتهای پیشنهادی استفاده از Spark MLlib و Spark ML کتابخانههای یادگیری ماشین Spark اجزای جریان و بسته های جامعه خارجی
Apache Spark is amazing when everything clicks. But if you haven\'t seen the performance improvements you expected, or still don\'t feel confident enough to use Spark in production, this practical book is for you. Authors Holden Karau and Rachel Warren demonstrate performance optimizations to help your Spark queries run faster and handle larger data sizes, while using fewer resources. Ideal for software engineers, data engineers, developers, and system administrators working with large-scale data applications, this book describes techniques that can reduce data infrastructure costs and developer hours. Not only will you gain a more comprehensive understanding of Spark, you\'ll also learn how to make it sing. With this book, you\'ll explore: How Spark SQL\'s new interfaces improve performance over SQL\'s RDD data structure The choice between data joins in Core Spark and Spark SQL Techniques for getting the most out of standard RDD transformations How to work around performance issues in Spark\'s key/value pair paradigm Writing high-performance Spark code without Scala or the JVM How to test for functionality and performance when applying suggested improvements Using Spark MLlib and Spark ML machine learning libraries Spark\'s Streaming components and external community packages
Предисловие Примечания к первому изданию Вспомогательная литература и материалы Условные обозначения Использование примеров кода Как связаться с авторами Благодарности Введение в эффективный Spark Что такое Spark, и почему производительность так важна Что даст эта книга Версии Spark Почему Scala Чтобы стать специалистом по Spark, все равно нужно хоть немного разбираться в Scala API фреймворка Spark для языка Scala легче использовать, чем API языка Java Язык Scala производительнее, чем Python Почему не Scala Изучение Scala Резюме Как работает Spark Место Spark в экосистеме больших данных Модель параллельных вычислений фреймворка Spark: наборы RDD Отложенные вычисления Хранение данных в памяти и управление памятью Неизменяемость и интерфейс RDD Типы наборов RDD Функции над наборами RDD: преобразования и действия Широкие и узкие зависимости Планирование заданий Spark Выделение ресурсов приложениям Приложение Spark Структура задания Spark DAG Задания Этапы Задачи Резюме Наборы DataFrame/Dataset и Spark SQL Первые шаги в использовании SparkSession (или HiveContext, или SQLContext) Зависимости Spark SQL Управление зависимостями Spark Исключение JAR-архивов Hive Основные сведения о схемах API DataFrame Преобразования Преобразования над несколькими наборами DataFrame Простые SQL-запросы в старом стиле и взаимодействие с данными из Hive Представление данных в наборах DataFrames и Datasets Функции загрузки и сохранения данных DataFrameWriter и DataFrameReader Форматы Режимы сохранения Секции (обнаружение и запись) Наборы Dataset Взаимозаменяемость наборов RDD, DataFrame и локальных коллекций Сильная типизация на этапе компиляции Упрощенные функциональные (RDD-подобные) преобразования Реляционные преобразования Реляционные преобразования с несколькими Dataset Группирующие операции над наборами Dataset Расширение классов пользовательскими функциями, а также пользовательскими функциями агрегирования (UDF, UDAF) Оптимизатор запросов Логические и физические планы выполнения Генерация кода Большие планы запросов и итеративные алгоритмы Отладка запросов Spark SQL Сервер JDBC/ODBC Резюме Соединения (SQL и Core) Соединения Spark Core Выбор типа соединения Выбор плана выполнения Соединения Spark SQL Соединения наборов DataFrame Соединения наборов Dataset Резюме Эффективные преобразования Узкие и широкие преобразования Влияние на производительность Влияние на отказоустойчивость Особый случай операции coalesce Какой тип набора RDD возвращает преобразование Минимизация количества создаваемых объектов Повторное использование существующих объектов Использование меньших структур данных Выполнение преобразований «итератор — итератор» с помощью функции mapPartitions Что такое преобразование «итератор — итератор» Преимущества в смысле занимаемого места и времени выполнения Пример Операции над множествами Снижение затрат на подготовительные работы Разделяемые переменные Транслирующие переменные Накопители Повторное использование наборов RDD Сценарии повторного использования Как определить, достаточно ли низки затраты на повторное вычисление Виды повторного использования: кэш, сохранение, контрольная точка, перетасовочные файлы Alluxio (бывший Tachyon) LRU-кэширование Соображения по поводу зашумленных кластеров Взаимодействие с накопителями Резюме Работа с данными типа «ключ — значение» Пример со Златовлаской Златовласка. Версия 0: итеративное решение Как использовать классы PairRDDFunctions и OrderedRDDFunctions Действия над парами «ключ — значение» Чем так опасна функция groupByKey Златовласка. Версия 1: решение с использованием функции groupByKey Почему операция groupByKey вызывает ошибки Выбор операции агрегирования Список операций агрегирования с комментариями по производительности Предотвращение ошибок нехватки памяти при операциях агрегирования Операции над несколькими наборами RDD Методы секционирования и данные типа «ключ — значение» Использование объекта Partitioner фреймворка Spark Хеш-секционирование Секционирование по диапазонам значений ключей Пользовательское секционирование Сохранение информации о секционировании от преобразования к преобразованию Использование совместно расположенных и секционированных наборов RDD Перечень функций отображения и секционирования класса PairRDDFunctions Перечень функций класса OrderedRDDOperations Вторичные сортировки и функция repartitionAndSortWithinPartitions Использование repartitionAndSortWithinPartitions для функции группировки по ключу с сортировкой значений Как не следует сортировать по двум критериям Златовласка. Версия 2: вторичная сортировка Другой подход к задаче Златовласки Златовласка. Версия 3: сортировка по значениям ячеек Выявление отстающих задач и несбалансированных данных Возвращаемся к Златовласке Златовласка. Версия 4: свертка до уникальных значений по каждой секции Резюме Выходим за рамки Scala За пределами Scala, но в рамках JVM За пределами и Scala, и JVM Как работает PySpark Как работает SparkR Spark.jl (Spark для языка программирования Julia) Как работает Eclair JS Spark в среде CLR — C# Обращение к коду на других языках программирования из Spark Использование pipe JNI Java Native Access (JNA) Все еще FORTRAN Займемся GPU Что нас ждет в будущем Резюме Тестирование и валидация Модульное тестирование Основное модульное тестирование в Spark Имитационное моделирование наборов RDD Получение тестовых данных Генерация больших наборов данных Выборка Проверка свойств с помощью библиотеки ScalaCheck Комплексное тестирование Выбор среды комплексного тестирования Контроль производительности Контроль производительности с помощью счетчиков Spark Проекты, предназначенные для контроля производительности Валидация заданий Резюме Spark MLlib и ML Выбор между библиотеками Spark MLlib и Spark ML Работаем с библиотекой MLlib Знакомимся с библиотекой MLlib (устройство и импорты) Кодирование признаков в библиотеке MLlib и подготовка данных Обучение моделей библиотеки MLlib Предсказание Выдача и сохранение Оценка модели Работаем с библиотекой Spark ML Устройство и импорты библиотеки Spark ML Этапы конвейера Функция ExplainParams Кодирование данных Очистка данных Модели библиотеки Spark ML Собираем все воедино в конвейер Обучение конвейера Обращение к отдельным этапам Сохранение данных и библиотека Spark ML Расширение конвейеров Spark ML собственными алгоритмами Сохранение и выдача моделей и конвейеров с помощью Spark ML Общие соображения по выдаче Резюме Компоненты и пакеты фреймворка Spark Организация потоковой обработки с помощью Spark Источники и приемники данных Интервалы времени между пакетами Интервалы создания контрольных точек Соображения относительно потоков DStream Соображения относительно Structured Streaming Режим высокой доступности (отказы драйвера и создание контрольных точек) GraphX Использование пакетов и библиотек, созданных сообществом разработчиков Резюме Приложение. Тонкая настройка, отладка и другие аспекты, обычно игнорируемые разработчиками Тонкая настройка фреймворка Spark и выбор размеров кластеров Корректировка настроек Spark Как выяснить актуальные характеристики своего кластера Основные настройки Spark Core: сколько ресурсов нужно выделять приложению Spark Подсчет перерасхода памяти в исполнителях и драйвере Какого размера должен быть драйвер Spark Несколько больших исполнителей или много маленьких? Выделение ресурсов кластера и динамическое выделение Разделение места внутри исполнителя Количество и размер секций Варианты сериализации Kryo Настройки Spark. Резюме Дополнительные методики отладки