Искра. Мгновенный анализ данных. 2-е издание
Товар
- 0 раз купили
- 5 оценка
- 2 осталось
- 4 отзыва
Доставка
Характеристики
Описание
Spark. Błyskawiczna analiza danych. Wydanie II
Jules S. Damji, Brooke Wenig, Tathagata Das, Denny Lee
Apache Spark jest oprogramowaniem open source, przeznaczonym do klastrowego przetwarzania danych dostarczanych w różnych formatach. Pozwala na uzyskanie niespotykanej wydajności, umożliwia też pracę w trybie wsadowym i strumieniowym. Framework ten jest również świetnie przygotowany do uruchamiania złożonych aplikacji, włączając w to algorytmy uczenia maszynowego czy analizy predykcyjnej. To wszystko sprawia, że Apache Spark stanowi znakomity wybór dla programistów zajmujących się big data, a także eksploracją i analizą danych.
To książka przeznaczona dla inżynierów danych i programistów, którzy chcą za pomocą Sparka przeprowadzać skomplikowane analizy danych i korzystać z algorytmów uczenia maszynowego, nawet jeśli te dane pochodzą z różnych źródeł. Wyjaśniono tu, jak dzięki Apache Spark można odczytywać i ujednolicać duże zbiory informacji, aby powstawały niezawodne jeziora danych, w jaki sposób wykonuje się interaktywne zapytania SQL, a także jak tworzy się potoki przy użyciu MLlib i wdraża modele za pomocą biblioteki MLflow. Omówiono również współdziałanie aplikacji Sparka z jego rozproszonymi komponentami i tryby jej wdrażania w poszczególnych środowiskach.
W książce:
- API strukturalne dla Pythona, SQL, Scali i Javy
- operacje Sparka i silnika SQL
- konfiguracje Sparka i interfejs Spark UI
- nawiązywanie połączeń ze źródłami danych: JSON, Parquet, CSV, Avro, ORC, Hive, S3 i Kafka
- operacje analityczne na danych wsadowych i strumieniowanych
- niezawodne potoki danych i potoki uczenia maszynowego
Spark: twórz skalowalne i niezawodne aplikacje big data!
O autorze:
Jules S. Damji - jest inżynierem oprogramowania dla wielu wiodących firm, takich jak Netscape, Sun Microsystems, Verisign i ProQuest. Zajmuje się systemami rozproszonymi.
Brooke Wenig - kieruje zespołem, który opracowuje potoki uczenia maszynowego. Prowadzi też szkolenia z zakresu rozproszonego uczenia maszynowego.
Tathagata Das - jest członkiem Apache Spark Project Management Committee. Pracuje nad strumieniowaniem strukturalnym i Delta Lake.
Denny Lee - zajmuje się systemami rozproszonymi i inżynierią danych, zwłaszcza dla branży ochrony zdrowia.
Spis treści:
Przedmowa
Wprowadzenie
1. Wprowadzenie do Apache Spark - ujednolicony silnik analityczny
- Geneza Sparka
Big data i przetwarzanie rozproszone w Google
Hadoop w Yahoo!
Wczesne lata Sparka w AMPLab
- Czym jest Apache Spark?
Szybkość
Łatwość użycia
Modułowość
Rozszerzalność
- Ujednolicona analityka
Komponenty Apache Spark tworzą ujednolicony stos
Spark MLlib
Wykonywanie rozproszone w Apache Spark
- Z punktu widzenia programisty
Kto używa Sparka i w jakim celu?
Popularność w społeczności i dalsza ekspansja
2. Pobranie Apache Spark i rozpoczęcie pracy
- Krok 1. - pobranie Apache Spark
Pliki i katalogi Sparka
- Krok 2. - używanie powłoki Scali lub PySparka
Używanie komputera lokalnego
- Krok 3. - poznanie koncepcji aplikacji Apache Spark
Aplikacja Sparka i SparkSession
Zlecenia Sparka
Etapy Sparka
Zadania Sparka
- Transformacje, akcje i późna ocena
Transformacje wąskie i szerokie
- Spark UI
- Pierwsza niezależna aplikacja
Zliczanie cukierków M&M's
Tworzenie niezależnych aplikacji w Scali
- Podsumowanie
3. API strukturalne Apache Spark
- Spark - co się kryje za akronimem RDD?
- Strukturyzacja Sparka
Kluczowe zalety i wartość struktury
- API DataFrame
Podstawowe typy danych Sparka
Strukturalne i złożone typy danych Sparka
Schemat i tworzenie egzemplarza DataFrame
Kolumny i wyrażenia
Rekord
Najczęściej przeprowadzane operacje z użyciem DataFrame
Przykład pełnego rozwiązania wykorzystującego DataFrame
- API Dataset
Obiekty typowane i nietypowane oraz ogólne rekordy
Tworzenie egzemplarza Dataset
Operacje na egzemplarzu Dataset
Przykład pełnego rozwiązania wykorzystującego Dataset
- Egzemplarz DataFrame kontra Dataset
Kiedy używać RDD?
- Silnik Spark SQL
Optymalizator Catalyst
- Podsumowanie
4. Spark SQL i DataFrame - wprowadzenie do wbudowanych źródeł danych
- Używanie Spark SQL w aplikacji Sparka
Przykłady podstawowych zapytań
- Widoki i tabele SQL
Tabele zarządzane kontra tabele niezarządzane
Tworzenie baz danych i tabel SQL
Tworzenie widoku
Wyświetlanie metadanych
Buforowanie tabel SQL
Wczytywanie zawartości tabeli do egzemplarza DataFrame
- Źródła danych dla egzemplarzy DataFrame i tabel SQL
DataFrameReader
DataFrameWriter
Parquet
JSON
CSV
Avro
ORC
Obrazy
Pliki binarne
- Podsumowanie
5. Spark SQL i DataFrame - współpraca z zewnętrznymi źródłami danych
- Spark SQL i Apache Hive
Funkcje zdefiniowane przez użytkownika
- Wykonywanie zapytań z użyciem powłoki Spark SQL, Beeline i Tableau
Używanie powłoki Spark SQL
Praca z narzędziem Beeline
Praca z Tableau
- Zewnętrzne źródła danych
Bazy danych SQL i JDBC
PostgreSQL
MySQL
Azure Cosmos DB
MS SQL Server
Inne zewnętrzne źródła danych
- Funkcje wyższego rzędu w egzemplarzach DataFrame i silniku Spark SQL
Opcja 1. - konwersja struktury
Opcja 2. - funkcja zdefiniowana przez użytkownika
Wbudowane funkcje dla złożonych typów danych
Funkcje wyższego rzędu
- Najczęściej wykonywane operacje w DataFrame i Spark SQL
Suma
Złączenie
Okno czasowe
Modyfikacje
- Podsumowanie
6. Spark SQL i Dataset
- Pojedyncze API dla Javy i Scali
Klasy case Scali i JavaBean dla egzemplarzy Dataset
- Praca z egzemplarzem Dataset
Tworzenie przykładowych danych
Transformacja przykładowych danych
- Zarządzanie pamięcią podczas pracy z egzemplarzami Dataset i DataFrame
Kodeki egzemplarza Dataset
Wewnętrzny format Sparka kontra format obiektu Javy
Serializacja i deserializacja
- Koszt związany z używaniem egzemplarza Dataset
Strategie pozwalające obniżyć koszty
- Podsumowanie
7. Optymalizacja i dostrajanie aplikacji Sparka
- Optymalizacja i dostrajanie Sparka w celu zapewnienia efektywności działania
Wyświetlanie i definiowanie konfiguracji Apache Spark
Skalowanie Sparka pod kątem ogromnych obciążeń
- Buforowanie i trwałe przechowywanie danych
DataFrame.cache()
DataFrame.persist()
Kiedy buforować i trwale przechowywać dane?
Kiedy nie buforować i nie przechowywać trwale danych?
- Rodzina złączeń w Sparku
Złączenie BHJ
Złączenie SMJ
- Spark UI
Karty narzędzia Spark UI
- Podsumowanie
8. Strumieniowanie strukturalne
- Ewolucja silnika przetwarzania strumieni w Apache Spark
Przetwarzanie strumieniowe mikropartii
Cechy mechanizmu Spark Streaming (DStreams)
Filozofia strumieniowania strukturalnego
- Model programowania strumieniowania strukturalnego
- Podstawy zapytania strumieniowania strukturalnego
Pięć kroków do zdefiniowania zapytania strumieniowego
Pod maską aktywnego zapytania strumieniowanego
Odzyskiwanie danych po awarii i gwarancja "dokładnie raz"
Monitorowanie aktywnego zapytania
- Źródło i ujście strumieniowanych danych
Pliki
Apache Kafka
Niestandardowe źródła strumieni i ujść danych
- Transformacje danych
Wykonywanie przyrostowe i stan strumieniowania
Transformacje bezstanowe
Transformacje stanowe
- Agregacje strumieniowania
Agregacja nieuwzględniająca czasu
Agregacje z oknami czasowymi na podstawie zdarzeń
- Złączenie strumieniowane
Złączenie strumienia i egzemplarza statycznego
Złączenia między egzemplarzami strumieniowanymi
- Dowolne operacje związane ze stanem
Modelowanie za pomocą mapGroupsWithState() dowolnych operacji stanu
Stosowanie limitów czasu do zarządzania nieaktywnymi grupami
Generalizacja z użyciem wywołania flatMapGroupsWithState()
- Dostrajanie wydajności działania
- Podsumowanie
9. Tworzenie niezawodnych jezior danych za pomocą Apache Spark
- Waga optymalnego rozwiązania w zakresie pamięci masowej
- Bazy danych
Krótkie wprowadzenie do SQL
Odczytywanie i zapisywanie informacji w bazie danych za pomocą Apache Spark
Ograniczenia baz danych
- Jezioro danych
Krótkie wprowadzenie do jezior danych
Odczytywanie i zapisywanie danych jeziora danych za pomocą Apache Spark
Ograniczenia jezior danych
- Lakehouse - następny krok w ewolucji rozwiązań pamięci masowej
Apache Hudi
Apache Iceberg
Delta Lake
- Tworzenie repozytorium danych za pomocą Apache Spark i Delta Lake
Konfiguracja Apache Spark i Delta Lake
Wczytywanie danych do tabeli Delta Lake
Wczytywanie strumieni danych do tabeli Delta Lake
Zarządzanie schematem podczas zapisu w celu zapobiegania uszkodzeniu danych
Ewolucja schematu w celu dostosowania go do zmieniających się danych
Transformacja istniejących danych
Audyt zmian danych przeprowadzany za pomocą historii operacji
Wykonywanie zapytań do poprzednich migawek tabeli dzięki funkcjonalności podróży w czasie
- Podsumowanie
10. Uczenie maszynowe z użyciem biblioteki MLlib
- Czym jest uczenie maszynowe?
Nadzorowane uczenie maszynowe
Nienadzorowane uczenie maszynowe
Dlaczego Spark dla uczenia maszynowego?
- Projektowanie potoków uczenia maszynowego
Wczytywanie i przygotowywanie danych
Tworzenie zbiorów danych - testowego i treningowego
Przygotowywanie cech za pomocą transformerów
Regresja liniowa
Stosowanie estymatorów do tworzenia modeli
Tworzenie potoku
Ocena modelu
Zapisywanie i wczytywanie modeli
- Dostrajanie hiperparametru
Modele oparte na drzewach
k-krotny sprawdzian krzyżowy
Optymalizacja potoku
- Podsumowanie
11. Stosowanie Apache Spark do wdrażania potoków uczenia maszynowego oraz ich skalowania i zarządzania nimi
- Zarządzanie modelem
MLflow
- Opcje wdrażania modelu za pomocą MLlib
Wsadowe
Strumieniowane
Wzorce eksportu modelu dla rozwiązania niemalże w czasie rzeczywistym
- Wykorzystanie Sparka do pracy z modelami, które nie zostały utworzone za pomocą MLlib
Zdefiniowane przez użytkownika funkcje pandas
Spark i rozproszone dostrajanie hiperparametru
- Podsumowanie
12. Epilog - Apache Spark 3.0
- Spark Core i Spark SQL
Dynamiczne oczyszczanie partycji
Adaptacyjne wykonywanie zapytań
Podpowiedzi dotyczące złączeń SQL
API wtyczek katalogu i DataSourceV2
Planowanie z użyciem akceleratorów
Strumieniowanie strukturalne
- PySpark, zdefiniowane przez użytkownika funkcje pandas i API funkcji pandas
Usprawnione zdefiniowane przez użytkownika funkcje pandas zapewniające obsługę podpowiedzi typów w Pythonie
Obsługa iteratora w zdefiniowanych przez użytkownika funkcjach pandas
Nowe API funkcji pandas
- Zmieniona funkcjonalność
Obsługiwane języki
Zmiany w API DataFrame i Dataset
Polecenia SQL EXPLAIN i DataFrame
- Podsumowanie
Гарантии
Гарантии
Мы работаем по договору оферты и предоставляем все необходимые документы.
Лёгкий возврат
Если товар не подошёл или не соответсвует описанию, мы поможем вернуть его.
Безопасная оплата
Банковской картой, электронными деньгами, наличными в офисе или на расчётный счёт.