Transaktions skrivningar till moln lagring med DBIO

Databricks DBIO-paketet innehåller transaktions skrivningar till moln lagring för Apache Spark jobb. Detta löser ett antal prestanda-och korrigerings problem som inträffar när Spark används i en moln intern inställning (till exempel att skriva direkt till lagrings tjänster).

Med DBIO transaktions genomförande kan metadatafiler som börjar med _started_<id> och _committed_<id> medfölja datafiler som skapats av Spark-jobb. Normalt bör du inte ändra de här filerna direkt. I stället bör du använda VACUUM kommandot för att rensa dem.

Rensa ej allokerade filer

Om du vill rensa bort filer som är kvar från Spark-jobb använder du VACUUM kommandot för att ta bort dem. VACUUMSker normalt automatiskt när Spark-jobb har slutförts, men du kan också köra det manuellt om ett jobb avbryts.

Tar till exempel VACUUM ... RETAIN 1 HOUR bort inallokerade filer som är äldre än en timme.

Viktigt

  • Undvik att vakuuma med en horisont på mindre än en timme. Den kan orsaka inkonsekvens i data.

Se även vakuum.

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]")