Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:
Databricks Runtime
Apache Spark SQL v Azure Databricks je navržený tak, aby byl kompatibilní s Apache Hivem, včetně připojení metastoru, SerDes a UDF.
SerDes a uživatelem definované funkce
Hive SerDes a UDF jsou založené na Hive 1.2.1.
Připojení k metastoru
Informace o připojení Azure Databricks k externě hostovanému metastore Hive najdete v tématu Externí metastore Apache Hive (starší verze).
Podporované funkce Hivu
Spark SQL podporuje velkou většinu funkcí Hive, například:
- Příkazy pro dotazy v Hive, včetně:
- SELECT
- GROUP BY
- ORDER BY
- CLUSTER BY
- SORT BY
- Všechny výrazy Hive, včetně:
- Relační výrazy (
=,⇔, ,==<>,<,>, ,>=, ,<=atd.) - Aritmetické výrazy (
+,-,*,/,%, atd.) - Logické výrazy (AND, &, &, OR, ||atd.)
- Konstruktory komplexního typu
- Matematické výrazy (znaménko, ln, cos atd.)
- Řetězcové výrazy (instr, length, printf atd.)
- Relační výrazy (
- Uživatelem definované funkce (UDF)
- Uživatelem definované agregační funkce (UDAF)
- Uživatelsky definované formáty serializace (SerDes)
- Funkce okna
- Připojuje
- JOIN
- {LEFT|RIGHT|FULL} VNĚJŠÍ JOIN
- LEVÝ SEMI JOIN
- KŘÍŽ JOIN
- Odbory
- Dílčí dotazy
- SELECT sloupec Z ( SELECT a + b AS sloupec z t1) t2
- Vzorkování
- Vysvětlit
- Dělené tabulky včetně vložení dynamické fragmentace
- Zobrazit
- Velká většina příkazů DDL, včetně:
- CREATE TABLE
- CREATE TABLE JAKO SELECT
- ALTER TABLE
- Většina datových typů Hive, včetně:
- TINYINT
- SMALLINT
- INT
- BIGINT
- BOOLEOVSKÝ
- PLOVAT
- DVOJITÝ
- ŘETĚZEC
- BINÁRNÍ
- ČASOVÉ RAZÍTKO
- DATUM
- POLE<>
- MAPA<>
- Struktura<>
Nepodporované funkce Hivu
Následující části obsahují seznam funkcí Hive, které Spark SQL nepodporuje. Většina těchto funkcí se v nasazeních Hive používá zřídka.
Hlavní funkce Hive
- Zápis do kontejnerové tabulky vytvořené Hivem
- Detailní aktualizace ACID
Funkce Esoteric Hive
- Typ sjednocení
- Jedinečné spojení
- Shromažďování statistik sloupců: Spark SQL momentálně nepoužívá skenování pro shromažďování statistik sloupců a podporuje pouze naplnění pole sizeInBytes v Hive metadatabázi.
Vstupní a výstupní formáty Hive
- Formát souboru pro rozhraní příkazového řádku: Pro výsledky, které se zobrazují zpět do rozhraní příkazového řádku, Spark SQL podporuje pouze TextOutputFormat.
- Archiv Hadoopu
Optimalizace Hive
Spark neobsahuje několik optimalizací Hivu. Některé z nich (například indexy) jsou méně důležité kvůli výpočetnímu modelu Spark SQL v paměti.
- Indexy rastrových obrázků na úrovni bloku a virtuální sloupce (používané k sestavení indexů).
- Automaticky určit počet reduktorů pro spojení a seskupování: Ve Spark SQL je potřeba ovládat míru paralelismu po shuffle pomocí
SET spark.sql.shuffle.partitions=[num_tasks];. - Příznak nerovnoměrné distribuce dat: Spark SQL neodpovídá příznaku nerovnoměrné distribuce dat v Hive.
-
STREAMTABLErada při připojení: Spark SQL nedodržujeSTREAMTABLEradu. - Sloučit několik malých souborů pro výsledky dotazu: Pokud výstup výsledku obsahuje více malých souborů, může Hive volitelně sloučit malé soubory do méně velkých souborů, aby se zabránilo přetečení metadat HDFS. Spark SQL to nepodporuje.