Spark SQL - wprowadzenie

Spark wprowadza moduł programowania do przetwarzania danych strukturalnych o nazwie Spark SQL. Zapewnia abstrakcję programowania o nazwie DataFrame i może działać jako rozproszony silnik zapytań SQL.

Funkcje Spark SQL

Oto funkcje Spark SQL -

  • Integrated- Bezproblemowo mieszaj zapytania SQL z programami Spark. Spark SQL umożliwia wykonywanie zapytań dotyczących danych strukturalnych jako rozproszonego zestawu danych (RDD) w Spark, ze zintegrowanymi interfejsami API w językach Python, Scala i Java. Ta ścisła integracja ułatwia uruchamianie zapytań SQL wraz ze złożonymi algorytmami analitycznymi.

  • Unified Data Access- Ładowanie i przeszukiwanie danych z różnych źródeł. Schema-RDD zapewnia jeden interfejs do wydajnej pracy z danymi strukturalnymi, w tym tabelami Apache Hive, plikami parkietów i plikami JSON.

  • Hive Compatibility- Uruchom niezmodyfikowane zapytania Hive na istniejących magazynach. Spark SQL ponownie wykorzystuje interfejs Hive i MetaStore, zapewniając pełną zgodność z istniejącymi danymi, zapytaniami i funkcjami UDF programu Hive. Po prostu zainstaluj go obok Hive.

  • Standard Connectivity- Połącz przez JDBC lub ODBC. Spark SQL zawiera tryb serwera ze standardowymi łączami JDBC i ODBC.

  • Scalability- Używaj tego samego silnika do zapytań interaktywnych i długich. Spark SQL wykorzystuje model RDD do obsługi odporności na błędy w trakcie zapytania, umożliwiając skalowanie również do dużych zadań. Nie martw się o użycie innego silnika dla danych historycznych.

Architektura Spark SQL

Poniższa ilustracja wyjaśnia architekturę Spark SQL -

Ta architektura zawiera trzy warstwy, a mianowicie język API, schemat RDD i źródła danych.

  • Language API- Spark jest kompatybilny z różnymi językami i Spark SQL. Jest również obsługiwany przez te języki - API (python, scala, java, HiveQL).

  • Schema RDD- Spark Core został zaprojektowany ze specjalną strukturą danych zwaną RDD. Generalnie Spark SQL działa na schematach, tabelach i rekordach. Dlatego możemy użyć Schema RDD jako tabeli tymczasowej. Możemy nazwać ten schemat RDD jako ramkę danych.

  • Data Sources- Zwykle źródłem danych dla Spark-core jest plik tekstowy, plik Avro itp. Jednak źródła danych dla Spark SQL są inne. Są to plik Parquet, dokument JSON, tabele HIVE i baza danych Cassandra.

Więcej na ten temat omówimy w następnych rozdziałach.