Spark. Błyskawiczna analiza danych. Wydanie II Krosno

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 …

od 49,04 Najbliżej: 49 km

Liczba ofert: 1

Oferta sklepu

Opis

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 UIPodsumowanie 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

Specyfikacja

Podstawowe informacje

Autor
  • Brooke Wenig|Tathagata Das|Jules S. Damji|Denny Lee
Wybrani autorzy
  • Opracowanie zbiorowe
Wybrane wydawnictwa
  • Helion
Okładka
  • Miękka
Format
  • 16.5 x 23.5 cm
Rok wydania
  • 2023
Ilość stron
  • 360
Tematyka
  • Bazy danych
ISBN
  • 9788328399143