Apache Hive uyumluluğu
Şunlar için geçerlidir: 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.)
- İlişkisel ifadeler (
- 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 ipucunuSTREAMTABLE
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.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin