Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Variantvernippering verbetert de queryprestaties voor VARIANT kolommen door vaak voorkomende velden op te slaan als afzonderlijke kolommen in de onderliggende Parquet-bestanden. Met shredding vermindert u de I/O die is vereist voor het lezen van velden en verbetert u de compressie met behulp van een kolomindeling in plaats van een binaire blob.
Zie VARIANT type, varianttypeondersteuning voor Apache Iceberg en Delta Lake en queryvariantgegevens.
Requirements
Databricks Runtime 17.3 of hoger is vereist voor het lezen en schrijven van versnipperde VARIANT-tabellen. Databricks raadt Databricks Runtime 18.1 of hoger aan voor optimale queryprestaties met het verzamelen van variantstatistieken en het overslaan van gegevens.
Shredding inschakelen
Vanaf Databricks Runtime 17.3 wordt shredding automatisch ingeschakeld wanneer u een nieuwe tabel met een of meer VARIANT kolommen maakt met behulp van CREATE TABLE.
CREATE OR REPLACE TABLE en ALTER TABLE schakel niet automatisch shredding in. Dit voorkomt dat het shreddinggedrag van bestaande tabellen en workloads wordt gewijzigd.
Voor bestaande tabellen kunt u shredding handmatig inschakelen door de tabeleigenschap enableVariantShredding in te stellen op TRUE en uitschakelen door de eigenschap in te stellen op FALSE:
Delta Lake
ALTER TABLE my_table SET TBLPROPERTIES ('delta.enableVariantShredding' = 'true');
Ijsbergtabel
ALTER TABLE my_table SET TBLPROPERTIES ('iceberg.enableVariantShredding' = 'true');
Controleer of shredding is ingeschakeld door te controleren of de tabeleigenschap enableVariantShredding is ingesteld op true.
Uitschakelen van vernietigen voor een specifieke tabel
Als u een specifieke tabel wilt uitsluiten van shredding voor toekomstige schrijfbewerkingen, stelt u de enableVariantShredding tabeleigenschap FALSEin op:
Delta Lake
ALTER TABLE my_table SET TBLPROPERTIES ('delta.enableVariantShredding' = 'false');
Ijsbergtabel
ALTER TABLE my_table SET TBLPROPERTIES ('iceberg.enableVariantShredding' = 'false');
Shredding uit een bestaande tabel verwijderen
Als u shredding in een bestaande tabel wilt verwijderen, verwijdert u de functie met de ALTER TABLE opdracht. Met deze bewerking worden ook versnipperde VARIANT gegevens herschreven naar de niet-versnipperde VARIANT indeling, en wordt de enableVariantShredding tabeleigenschap ingesteld op onwaar.
ALTER TABLE my_table DROP FEATURE "variantShredding";
Limitations
- Bij het opsnipperen van gegevens wordt enige overhead voor schrijfbewerkingen geïntroduceerd.
- Als u shredding inschakelt, worden bestaande
VARIANTgegevens in een tabel niet automatisch geconverteerd. Deze is alleen van toepassing op gegevens die zijn geschreven nadat de functie is ingeschakeld. Als u bestaandeVARIANTgegevens wilt herschrijven, gebruikt uREORG TABLE my_table APPLY (SHRED VARIANT). - Shredding is van toepassing op kolommen of
VARIANTvelden op het hoogste niveauVARIANTin structs, met uitzonderingVARIANTvan gegevens die zijn opgeslagen in matrices of kaarten.