Apache Hive-kompatibilitás

A következőkre vonatkozik:jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime

Az Apache Spark SQL az Azure Databricksben úgy lett kialakítva, hogy kompatibilis legyen az Apache Hive-vel, beleértve a metaadattár-kapcsolatot, a SerDes-t és az UDF-eket.

SerDes és UDF-k

A Hive SerDes és az UDF-ek a Hive 1.2.1-en alapulnak.

Metaadattár-kapcsolat

Lásd a Külső Apache Hive metastore (régi) részben, hogyan csatlakoztatható az Azure Databricks egy külsőleg üzemeltetett Hive metatárolóhoz.

Támogatott Hive-funkciók

A Spark SQL a Hive-funkciók túlnyomó többségét támogatja, például:

  • Hive-lekérdezési utasítások, beleértve a következőket:
    • SELECT
    • GROUP BY
    • ORDER BY
    • CLUSTER BY
    • SORT BY
  • Minden Hive-kifejezés, beleértve a következőket:
    • Relációs kifejezések (=, , ==, <>, <, >>=, , <=stb.)
    • Számtani kifejezések (+, , -, */, %stb.)
    • Logikai kifejezések (AND, &&; OR, ||stb.)
    • Összetett típusú konstruktorok
    • Matematikai kifejezések (jel, ln, cos stb.)
    • Sztringkifejezések (instr, length, printf stb.)
  • Felhasználó által definiált függvények (UDF)
  • Felhasználó által definiált összesítő függvények (UDAF)
  • Felhasználó által definiált szerializálási formátumok (SerDes)
  • Ablakfüggvények
  • Csatlakozik
    • JOIN
    • {BAL|JOBB|TELJES} KÜLSŐ ÖSSZEKAPCSOLÁS JOIN
    • BAL OLDALI FÉLSZŰRÉS JOIN
    • KERESZT JOIN
  • Szakszervezetek
  • Allekérdezések
    • SELECT oszlop FROM ( SELECT a + b AS oszlop from t1) t2
  • Mintavételezés
  • Megmagyaráz
  • Particionált táblák, beleértve a dinamikus partíció beszúrását
  • Nézet
  • A DDL-utasítások túlnyomó többsége, beleértve a következőket:
    • CREATE TABLE
    • CREATE TABLE AMINT SELECT
    • ALTER TABLE
  • A legtöbb Hive-adattípus, típusok közé tartoznak a következők:
    • TINYINT
    • SMALLINT
    • INT
    • BIGINT
    • LOGIKAI
    • LEBEG
    • DUPLA
    • HÚR
    • BINÁRIS
    • IDŐBÉLYEG
    • DÁTUM
    • TÖMB<>
    • TÉRKÉP<>
    • STRUKTÚRA<>

Nem támogatott Hive-funkciók

Az alábbi szakaszok olyan Hive-funkciókat tartalmaznak, amelyeket a Spark SQL nem támogat. A legtöbb ilyen funkciót ritkán használják a Hive telepítésekben.

Fő Hive-funkciók

  • Írás a Hive által létrehozott gyűjtő táblába
  • ACID részletes frissítések

Ezoterikus Hive funkciók

  • Unió típusa
  • Egyedi illesztés
  • Oszlopstatisztikák gyűjtése: A Spark SQL jelenleg nem végez visszavizsgálatokat az oszlopstatisztikák gyűjtéséhez, és csak a Hive metaadattár SizeInBytes mezőjének feltöltését támogatja

Hive bemeneti és kimeneti formátumok

  • Fájlformátum a parancssori felülethez: A parancssori felületre vissza mutató eredmények esetében a Spark SQL csak a TextOutputFormatot támogatja
  • Hadoop archívum

Hive-optimalizálás

Néhány Hive-optimalizálás nem szerepel a Sparkban. Ezek némelyike (például indexek) kevésbé fontosak a Spark SQL memóriabeli számítási modellje miatt.

  • Blokkszintű bitképindexek és virtuális oszlopok (indexek létrehozásához használatos).
  • Automatikusan határozza meg az illesztések és csoportosítások redukálóinak számát: A Spark SQL-ben szabályoznia kell a párhuzamosság fokát az adatkeverés után SET spark.sql.shuffle.partitions=[num_tasks];.
  • Ferde adatjelző: A Spark SQL nem követi a Hive-ben a ferde adatjelzőt.
  • STREAMTABLE csatlakozási tipp: A Spark SQL nem követi a STREAMTABLE tippet.
  • Több kis fájl egyesítése lekérdezési eredményekhez: ha az eredménykimenet több kis fájlt tartalmaz, a Hive igény szerint összevonhatja a kis fájlokat kevesebb nagy fájlba, hogy elkerülje a HDFS-metaadatok túlcsordulását. A Spark SQL ezt nem támogatja.