Aracılığıyla paylaş


Apache Hive uyumluluğu

Şunlar için geçerlidir:işaretli evet Databricks Runtime

Azure Databricks'te Apache Spark SQL, meta veri deposu bağlantısı, SerDes ve UDF'ler dahil olmak üzere Apache Hive ile uyumlu olacak şekilde tasarlanmıştır.

SerDes ve UDF'ler

Hive SerDes ve UDF'ler Hive 1.2.1'i temel alır.

Meta veri deposu bağlantısı

Azure Databricks'i harici olarak barındırılan bir Hive meta deposuna bağlama hakkında bilgi için Dış Apache Hive meta veri deposu (eski) bölümüne bakın.

Desteklenen Hive özellikleri

Spark SQL, aşağıdakiler gibi Hive özelliklerinin büyük çoğunluğunu destekler:

  • Hive sorgu deyimleri, örneğin:
    • SELECT
    • GROUP BY
    • ORDER BY
    • CLUSTER BY
    • SORT BY
  • Aşağıdakiler dahil olmak üzere tüm Hive ifadeleri:
    • İlişkisel ifadeler (=, , ==, <>, <, , >, >=<=vb.)
    • Aritmetik ifadeler (+, -, *, /, %vb.)
    • Mantıksal ifadeler (AND, & OR, ||vb.)
    • Karmaşık tür oluşturucuları
    • Matematiksel ifadeler (işaret, ln, cos vb.)
    • Dize ifadeleri (instr, length, printf vb.)
  • Kullanıcı tanımlı işlevler (UDF)
  • Kullanıcı tanımlı toplama işlevleri (UDAF)
  • Kullanıcı tanımlı serileştirme biçimleri (SerDes)
  • Pencere işlevleri
  • Katıldı
    • JOIN
    • {SOL|SAĞ|TAM} OUTER JOIN
    • SOL YARI JOIN
    • GEÇİŞ JOIN
  • Birleşimler
  • Alt-sorgular
    • SELECT sütun (t1'den a + b sütun AS SELECT) t2'den
  • Örnekleme
  • Açıklamak
  • Dinamik bölüm ekleme dahil bölümlenmiş tablolar
  • Görünüm
  • DDL deyimlerinin büyük çoğunluğu, örneğin:
    • CREATE TABLE
    • CREATE TABLE GİBİ SELECT
    • ALTER TABLE
  • Aşağıdakiler dahil olmak üzere çoğu Hive veri türü:
    • TINYINT
    • SMALLINT (Küçük Tamsayı)
    • INT
    • BIGINT
    • boolean
    • yüzmek
    • ÇİFT
    • DİZGİ
    • İKİLİ
    • ZAMAN DAMGASI
    • Tarih
    • DİZİ<>
    • HARİTA<>
    • YAPI<>

Desteklenmeyen Hive işlevselliği

Aşağıdaki bölümlerde Spark SQL'in desteklemediği Hive özelliklerinin listesi yer almaktadır. Bu özelliklerin çoğu Hive dağıtımlarında nadiren kullanılır.

Önemli Hive özellikleri

  • Hive tarafından oluşturulan bölümlenmiş tabloya veri yazma
  • ACID ayrıntılı güncelleştirmeleri

Ezoterik Hive özellikleri

  • Birleşim türü
  • Benzersiz birleştirme
  • Sütun istatistikleri toplanıyor: Spark SQL şu anda sütun istatistiklerini toplamak için taramaları geri almaz ve yalnızca Hive meta veri deposunun sizeInBytes alanını doldurmayı destekler

Hive giriş ve çıkış biçimleri

  • CLI için dosya biçimi: Cli'ye geri dönen sonuçlar için Spark SQL yalnızca TextOutputFormat'ı destekler
  • Hadoop arşivi

Hive iyileştirmeleri

Spark'ta bir avuç Hive iyileştirmesi yer almamaktadır. Spark SQL'in bellek içi hesaplama modeli nedeniyle bunlardan bazıları (dizinler gibi) daha az önemlidir.

  • Blok düzeyinde bit eşlem dizinleri ve sanal sütunlar (dizin oluşturmak için kullanılır).
  • Birleştirmeler ve gruplandırmalar için azaltıcı sayısını otomatik olarak belirleyin: Spark SQL'de, SET spark.sql.shuffle.partitions=[num_tasks]; kullanarak karıştırma sonrası paralellik derecesini kontrol etmeniz gerekir.
  • Veri dengesizliği bayrağı: Spark SQL, Hive'daki veri dengesizliği bayrağını izlemez.
  • Birleştirmede STREAMTABLE ipucu: Spark SQL STREAMTABLE ipucunu izlemez.
  • Sorgu sonuçları için birden çok küçük dosyayı birleştirme: Sonuç çıktısı birden çok küçük dosya içeriyorsa Hive, HDFS meta verilerinin taşmasını önlemek için isteğe bağlı olarak küçük dosyaları daha az büyük dosyayla birleştirebilir. Spark SQL bunu desteklemez.