Aracılığıyla paylaş


Apache Hive uyumluluğu

Şunlar için geçerlidir: onay işareti evet olarak işaretlenmiş 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 bkz . Dış Apache Hive meta veri deposu (eski ).

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
    • KÜMEYE GÖRE
    • SIRALAMA ÖLÇÜTÜ
  • 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Ğ|FULL} OUTER JOIN
    • SOL YARI BIRLEŞIM
    • ÇAPRAZ BIRLEŞTIRME
  • Birleşimler
  • Alt sorgular
    • SELECT col FROM ( select a + b AS col from t1) t2
  • Örnekleme
  • Açıklama
  • 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 AS SELECT
    • ALTER TABLE
  • Aşağıdakiler dahil olmak üzere çoğu Hive veri türü:
    • TINYINT
    • SMALLINT
    • INT
    • BIGINT
    • BOOLEAN
    • FLOAT
    • ÇİFT
    • DİZGİ
    • İKİLİ
    • TIMESTAMP
    • DATE
    • 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.

Ana Hive özellikleri

  • Hive tarafından oluşturulan demetlenmiş tabloya 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'a birkaç Hive iyileştirmesi dahil değildir. 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 belirleme: Spark SQL'de kullanarak paralellik sonrası karıştırma SET spark.sql.shuffle.partitions=[num_tasks];derecesini denetlemeniz gerekir.
  • Veri dengesizliği bayrağı: Spark SQL, Hive'da veri eğriltme bayrağını izlemez.
  • STREAMTABLE birleştirme ipucu: Spark SQL ipucunu STREAMTABLE 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.