Parquet v2

Parquet v2, beschikbaar in Databricks Runtime 18.1 en hoger, verbetert de queryprestaties en vermindert de opslag voor Delta Lake- en Apache Iceberg-tabellen met behulp van geavanceerde coderingen, v2-headers voor gegevenspagina's en INT64 tijdstempels.

Hoe Parquet v2 werkt

Parquet v2 introduceert verbeteringen in de bestandsindeling voor gegevensbestanden die de opslag verminderen en leesprestaties verbeteren:

  • Geavanceerde coderingen: Kolommen met gehele getallen en tekenreeksen gebruiken nieuwe coderingen met efficiëntere compressie en decodering in vergelijking met de coderingen die worden gebruikt in Parquet v1.
  • V2-gegevenspaginakoppen: statistieken en indexen op paginaniveau verbeteren de predicaatpushdown en het overslaan van gegevens, waardoor de hoeveelheid gescande gegevens tijdens de query wordt verminderd.
  • INT64-tijdstempels: INT64 tijdstempels vervangen de verouderde INT96 tijdstempel, het verbeteren van kolomstatistieken en tijdstempelcodering en -compressie.

Parquet v2 inschakelen

Azure Databricks upgradet compatibele beheerde tabellen in Unity Catalog automatisch naar Parquet v2. Zie Automatische upgrades.

Als u Parquet v2 handmatig wilt inschakelen, stelt u de parquet.format.version-tabeleigenschap in op 2.12.0, met het juiste voorvoegsel voor uw tabeltype. Controleer de beperkingen voordat u handmatig inschakelt.

Parquet v2 inschakelen voor een bestaande tabel:

Delta Lake

ALTER TABLE <table_name> SET TBLPROPERTIES ('delta.parquet.format.version' = '2.12.0');

Iceberg

ALTER TABLE <table_name> SET TBLPROPERTIES ('iceberg.parquet.format.version' = '2.12.0');

Parquet v2 inschakelen in een nieuwe tabel:

Delta Lake

CREATE TABLE <table_name> (...)
TBLPROPERTIES ('delta.parquet.format.version' = '2.12.0');

Iceberg

CREATE TABLE <table_name> (...)
USING iceberg
TBLPROPERTIES ('iceberg.parquet.format.version' = '2.12.0');

Nadat u de eigenschap hebt ingesteld, gebruiken alle volgende schrijfbewerkingen v2-coderingen. Parquet v1- en v2-bestanden kunnen naast elkaar bestaan in dezelfde tabel. Bestaande gegevensbestanden worden niet automatisch herschreven. Gebruik voor Delta Lake-tabellen REORG TABLE in Databricks Runtime 18.2 en hoger om bestaande bestanden naar v2 te herschrijven:

REORG TABLE <table_name> APPLY (SET PARQUET (FORMAT_VERSION = '2.12.0'));

Raadpleeg Naslaginformatie over tabeleigenschappen voor de volledige naslaginformatie over tabeleigenschappen.

Terugdraaien naar Parquet v1

Als u in Databricks Runtime 18.2 en hoger een afzonderlijke tabel wilt terugdraaien naar v1-codering, voert u deze uit REORG TABLE met de SET PARQUET optie:

REORG TABLE <table_name> APPLY (SET PARQUET (FORMAT_VERSION = '1.0.0'));

Met deze opdracht worden alle gegevensbestanden herschreven met v1-coderingen en wordt de delta.parquet.format.version tabeleigenschap opnieuw ingesteld op 1.0.0.

Zie REORG TABLE voor volledige REORG TABLE syntaxis.

Beperkingen

Parquet v2 heeft de volgende beperkingen:

  • Voor externe engines ondersteunen sommige Apache Iceberg-lezers Parquet v2 mogelijk niet voor Iceberg-tabellen. U moet controleren of Iceberg-lezers compatibel zijn voordat u Parquet v2 inschakelt op Iceberg-tabellen.
  • Voor OpenSharing controleert u voordat u Parquet v2 inschakelt, of de lezerclients voor OpenSharing-ontvangers Parquet v2-coderingen ondersteunen.
  • Gematerialiseerde weergaven en streamingtabellen worden niet automatisch geüpgraded naar Parquet v2. U kunt Parquet v2 handmatig inschakelen voor deze tabeltypen in Databricks Runtime 18.1 en hoger.