Promocja!

SPARK BŁYSKAWICZNA ANALIZA DANYCH

Original price was: 89.00zł.Current price is: 80.10zł.

Na stanie

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

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

 

Autor

ISBN

978-83-283-9914-3

Liczba stron

Rok wydania

Wydawca

Opinie

Na razie nie ma opinii o produkcie.

Napisz pierwszą opinię o „SPARK BŁYSKAWICZNA ANALIZA DANYCH”

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *