Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:
Databricks Runtime
Usługa Apache Spark SQL w usłudze Azure Databricks została zaprojektowana pod kątem zgodności z usługą Apache Hive, w tym łącznością z magazynem metadanych, SerDes oraz funkcjami zdefiniowanymi przez użytkownika.
SerDes i funkcje zdefiniowane przez użytkownika
Funkcje Hive SerDes i UDF są oparte na technologii Hive 1.2.1.
Łączność magazynu metadanych
Aby uzyskać informacje na temat łączenia usługi Azure Databricks z zewnętrznie hostowanym magazynem metadanych Hive, zobacz External Apache Hive metastore (starsza wersja).
Obsługiwane funkcje programu Hive
Usługa Spark SQL obsługuje zdecydowaną większość funkcji hive, takich jak:
- Instrukcje dotyczące zapytań Hive, w tym:
- SELECT
- GROUP BY
- ORDER BY
- CLUSTER BY
- SORT BY
- Wszystkie wyrażenia Hive, w tym:
- Wyrażenia relacyjne (
=,⇔,==<>,<,>,>=, ,<=itp.) - Wyrażenia arytmetyczne (
+,-,*,/,%itp.) - Wyrażenia logiczne (AND, &, OR, ||itp.)
- Konstruktory typów złożonych
- Wyrażenia matematyczne (znak, ln, cos itp.)
- Wyrażenia ciągu (instr, length, printf itp.)
- Wyrażenia relacyjne (
- Funkcje zdefiniowane przez użytkownika (UDF)
- Funkcje agregacji zdefiniowane przez użytkownika (UDAF)
- Formaty serializacji zdefiniowane przez użytkownika (SerDes)
- Funkcje okien
- Łączy
- JOIN
- {LEWO|PRAWO|FULL} ZEWNĘTRZNE JOIN
- LEWY SEMI JOIN
- KRZYŻ JOIN
- Związki zawodowe
- Zapytania podrzędne
- SELECT kolumna FROM (SELECT kolumny + b as z t1) t2
- Próbkowanie
- Wyjaśnij
- Tabele partycjonowane, w tym dynamiczne wstawianie partycji
- Widok
- Zdecydowana większość instrukcji DDL, w tym:
- CREATE TABLE
- CREATE TABLE JAK SELECT
- ALTER TABLE
- Większość typów danych Hive, w tym:
- TINYINT
- SMALLINT
- INT
- BIGINT
- BOOLOWSKI
- SPŁAWIK
- PODWÓJNY
- STRUNA
- BINARNY
- SYGNATURA CZASOWA
- DATA
- TABLICA<>
- MAPA<>
- STRUCT<>
Nieobsługiwana funkcja programu Hive
W poniższych sekcjach znajduje się lista funkcji programu Hive, których usługa Spark SQL nie obsługuje. Większość z tych funkcji jest rzadko używana we wdrożeniach programu Hive.
Główne funkcje programu Hive
- Zapisywanie w tabeli segmentowanej utworzonej przez Hive
- Szczegółowe aktualizacje ACID
Funkcje zaawansowane platformy Hive
- Typ unii
- Unikalne łączenie
- Zbieranie statystyk kolumn: Usługa Spark SQL obecnie nie wykorzystuje skanowania w trybie współdzielonym do zbierania statystyk kolumn i obsługuje tylko wypełnianie pola sizeInBytes magazynu metadanych systemu Hive.
Formaty danych wejściowych i wyjściowych Hive
- Format pliku dla interfejsu wiersza polecenia (CLI): w przypadku wyników wyświetlanych w CLI, usługa Spark SQL obsługuje tylko format TextOutputFormat.
- Archiwum Hadoop
Optymalizacje Hive
W platformie Spark nie uwzględniono kilku optymalizacji hive. Niektóre z nich (takie jak indeksy) są mniej ważne ze względu na model obliczeniowy usługi Spark SQL w pamięci.
- Indeksy map bitowych na poziomie bloków i kolumny wirtualne (używane do budowania indeksów).
- Automatycznie określ liczbę reduktorów dla sprzężeń i operacji grupowania: w usłudze Spark SQL należy kontrolować stopień równoległości po operacjach tasowania przy użyciu polecenia
SET spark.sql.shuffle.partitions=[num_tasks];. - Flaga rozkładu danych: Spark SQL nie uwzględnia flagi rozkładu danych w Hive.
-
STREAMTABLEwskazówka w łączeniu: usługa Spark SQL nie przestrzegaSTREAMTABLEwskazówki. - Połączenie wielu małych plików dla wyników zapytania: jeśli wynik zawiera wiele małych plików, Hive może scalić małe pliki w mniej liczebne, większe pliki, aby uniknąć przepełnienia metadanych systemu plików HDFS. Usługa Spark SQL nie obsługuje tego.