DBIO ile bulut depolamaya işlem tabanlı yazma işlemleri

Databricks DBIO paketi, bulut depolamaya işlem tabanlı yazma işlemleri Apache Spark sağlar. Bu, Spark buluta özel bir ayarda (örneğin, doğrudan depolama hizmetlerine yazma) kullanılırken oluşan bir dizi performans ve doğruluk sorununu çözer.

DBIO işlem yürütmesi ile, Spark işleri tarafından oluşturulan veri _started_<id> _committed_<id> dosyalarıyla başlayan ve eşlik eden meta veri dosyaları. Genellikle bu dosyaları doğrudan değiştirmeyebilirsiniz. Bunun yerine, bunları temizlemek VACUUM için komutunu kullanabilirsiniz.

İşsiz dosyaları temizleme

Spark işlerinden kalan iş atlanmamış dosyaları temizlemek için komutunu VACUUM kullanarak bunları kaldırın. Normalde Spark VACUUM işleri tamamlandıktan sonra otomatik olarak gerçekleşir, ancak bir iş iptal edilirse el ile de çalıştırabilirsiniz.

Örneğin, VACUUM ... RETAIN 1 HOUR bir saatten eski işlanmamış dosyaları kaldırır.

Önemli

  • Bir saatten kısa bir ufukla vakumlamadan kaçının. Bu, veri tutarsızlığının nedeni olabilir.

Ayrıca bkz. Vacuum.

SQL

-- recursively vacuum an output path
VACUUM '/path/to/output/directory' [RETAIN <N> HOURS]

-- vacuum all partitions of a catalog table
VACUUM tableName [RETAIN <N> HOURS]

Scala

// recursively vacuum an output path
spark.sql("VACUUM '/path/to/output/directory' [RETAIN <N> HOURS]")

// vacuum all partitions of a catalog table
spark.sql("VACUUM tableName [RETAIN <N> HOURS]")