Aanbevelingen voor bestanden in volumes en werkruimtebestanden
Wanneer u gegevens of bestanden uploadt of opslaat in Azure Databricks, kunt u ervoor kiezen om deze bestanden op te slaan met behulp van Unity Catalog-volumes of werkruimtebestanden. Dit artikel bevat aanbevelingen en vereisten voor het gebruik van deze locaties. Zie Wat zijn Unity Catalog-volumes? en wat zijn werkruimtebestanden? voor meer informatie over volumes en werkruimtebestanden.
Databricks raadt aan om Unity Catalog-volumes te gebruiken voor het opslaan van gegevens, bibliotheken en buildartefacten. Sla notebooks, SQL-query's en codebestanden op als werkruimtebestanden. U kunt mappen van werkruimtebestanden configureren als Git-mappen om te synchroniseren met externe Git-opslagplaatsen. Zie Git-integratie voor Databricks Git-mappen. Kleine gegevensbestanden die worden gebruikt voor testscenario's kunnen ook worden opgeslagen als werkruimtebestanden.
De onderstaande tabellen bieden specifieke aanbevelingen voor bestanden, afhankelijk van uw type bestand of functiebehoeften.
Belangrijk
Het Databricks File System (DBFS) is ook beschikbaar voor bestandsopslag, maar wordt niet aanbevolen, omdat alle werkruimtegebruikers toegang hebben tot bestanden in DBFS. Zie DBFS.
Bestandstypen
De volgende tabel bevat aanbevelingen voor opslag voor bestandstypen. Databricks ondersteunt veel bestandsindelingen die verder gaan dan in deze tabel als voorbeelden.
Bestandstype | Aanbeveling |
---|---|
Databricks-objecten, zoals notebooks en query's | Opslaan als werkruimtebestanden |
Gestructureerde gegevensbestanden, zoals Parquet-bestanden en ORC-bestanden | Opslaan in Unity Catalog-volumes |
Semi-gestructureerde gegevensbestanden, zoals tekstbestanden (.csv , .txt ) en JSON-bestanden (.json ) |
Opslaan in Unity Catalog-volumes |
Niet-gestructureerde gegevensbestanden, zoals afbeeldingsbestanden (.png , .svg audiobestanden).mp3 en documentbestanden (.pdf , .docx ) |
Opslaan in Unity Catalog-volumes |
Onbewerkte gegevensbestanden die worden gebruikt voor ad-hoc- of vroege gegevensverkenning | Opslaan in Unity Catalog-volumes |
Operationele gegevens, zoals logboekbestanden | Opslaan in Unity Catalog-volumes |
Grote archiefbestanden, zoals ZIP-bestanden (.zip ) |
Opslaan in Unity Catalog-volumes |
Broncodebestanden, zoals Python-bestanden (), Java-bestanden (.py .java ) en Scala-bestanden (.scala ) |
Sla op als werkruimtebestanden, indien van toepassing, met andere gerelateerde objecten, zoals notebooks en query's. Databricks raadt u aan deze bestanden in een Git-map te beheren voor versiebeheer en het bijhouden van wijzigingen van deze bestanden. |
Artefacten en bibliotheken bouwen, zoals Python-wielen (.whl ) en JAR-bestanden (.jar ) |
Opslaan in Unity Catalog-volumes |
Configuratiebestanden | Sla configuratiebestanden op die nodig zijn in werkruimten in Unity Catalog-volumes, maar sla ze op als werkruimtebestanden als ze projectbestanden in een Git-map zijn. |
Functievergelijking
In de volgende tabel worden de functieaanbiedingen van werkruimtebestanden en Unity Catalog-volumes vergeleken.
Functie | Werkruimtebestanden | Unity Catalog-volumes |
---|---|---|
Bestandstoegang | Werkruimtebestanden zijn alleen toegankelijk voor elkaar binnen dezelfde werkruimte. | Bestanden zijn wereldwijd toegankelijk in werkruimten. |
Programmatische toegang | Bestanden kunnen worden geopend met behulp van: - Spark-API's - ZEKERING - dbutils - REST API - Databricks SDK's - Databricks-CLI |
Bestanden kunnen worden geopend met behulp van: - Spark-API's - ZEKERING - dbutils - REST API - Databricks SDK's - Databricks SQL-connectors - Databricks-CLI - Databricks Terraform-provider |
Databricks Asset Bundles | Standaard worden alle bestanden in een bundel, die bibliotheken en Databricks-objecten zoals notebooks en query's bevat, veilig geïmplementeerd als werkruimtebestanden. Machtigingen worden gedefinieerd in de bundelconfiguratie. | Bundels kunnen worden aangepast om bibliotheken op te nemen die al in volumes staan wanneer de bibliotheken de limiet van werkruimtebestanden overschrijden. Zie bibliotheekafhankelijkheden van Databricks Asset Bundles. |
Machtigingsniveau voor bestand | Machtigingen bevinden zich op het niveau van de Git-map als het bestand zich in een Git-map bevindt, anders worden machtigingen ingesteld op bestandsniveau. | Machtigingen bevinden zich op volumeniveau. |
Machtigingenbeheer | Machtigingen worden beheerd door werkruimte-ACL's en zijn beperkt tot de betreffende werkruimte. | Metagegevens en machtigingen worden beheerd door Unity Catalog. Deze machtigingen zijn van toepassing op alle werkruimten die toegang hebben tot de catalogus. |
Externe opslagkoppeling | Biedt geen ondersteuning voor het koppelen van externe opslag | Biedt de optie om naar bestaande gegevenssets in externe opslag te verwijzen door een extern volume te maken. Zie Wat zijn Unity Catalog-volumes? |
UDF-ondersteuning | Niet ondersteund | Schrijven vanuit UDF's wordt ondersteund met Volumes FUSE |
Bestandsgrootte | Sla kleinere bestanden op die kleiner zijn dan 500 MB, zoals broncodebestanden (.py , .md , .yml ) die naast notebooks nodig zijn. |
Sla zeer grote gegevensbestanden op tegen limieten die worden bepaald door cloudserviceproviders. |
Uploaden en downloaden | Ondersteuning voor uploaden en downloaden tot 10 MB. | Ondersteuning voor uploaden en downloaden tot 5 GB. |
Ondersteuning voor het maken van tabellen | Tabellen kunnen niet worden gemaakt met werkruimtebestanden als de locatie. | Tabellen kunnen worden gemaakt op basis van bestanden in een volume door automatisch laden of andere opties uit te voeren COPY INTO die worden beschreven in Gegevens opnemen in een Databricks Lakehouse. |
Mapstructuur en bestandspaden | Bestanden zijn ingedeeld in geneste mappen, elk met een eigen machtigingsmodel: - Basismappen van gebruikers, één voor elke gebruiker en service-principal in de werkruimte - Git-mappen -Gedeeld |
Bestanden zijn ingedeeld in geneste mappen in een volume Zie Hoe hebt u toegang tot gegevens in Unity Catalog? |
Bestandsgeschiedenis | Gebruik de Git-map in werkruimten om bestandswijzigingen bij te houden. | Auditlogboeken zijn beschikbaar. |