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.
Veelgestelde vragen over Databricks Auto Loader.
Wordt het bestand opnieuw verwerkt wanneer het bestand wordt toegevoegd of overschreven?
Met de standaardinstelling (cloudFiles.allowOverwrites = false) worden bestanden precies één keer verwerkt. Wanneer een bestand wordt toegevoegd aan of overschreven, kan Auto Loader niet garanderen welke bestandsversie wordt verwerkt.
Om Auto Loader toe te staan om het bestand opnieuw te verwerken wanneer het wordt toegevoegd of overschreven, kunt u cloudFiles.allowOverwrites instellen op true. In dit geval wordt gegarandeerd dat Auto Loader de nieuwste versie van het bestand verwerkt. Auto Loader kan echter niet garanderen welke tussenliggende versie wordt verwerkt.
Wees voorzichtig als u de meldingsmodus voor bestanden inschakelt cloudFiles.allowOverwrites . In de bestandsmeldingsmodus kan Auto Loader nieuwe bestanden identificeren via zowel bestandsmeldingen als mapvermeldingen. Omdat gebeurtenistijd van bestandsmeldingen en wijzigingstijd van bestanden kunnen verschillen, kan Auto Loader twee verschillende tijdstempels ontvangen en hetzelfde bestand tweemaal opnemen, zelfs als het bestand niet is bijgewerkt.
Als cloudFiles.allowOverwrites deze optie is ingeschakeld, moet u zelf dubbele records afhandelen. Met automatisch laden wordt het hele bestand opnieuw verwerkt, zelfs wanneer het wordt toegevoegd aan of gedeeltelijk is bijgewerkt. Over het algemeen raadt Azure Databricks het gebruik van Auto Loader aan om alleen onveranderbare bestanden op te nemen en de standaardinstelling cloudFiles.allowOverwrites = falsete gebruiken. Neem contact op met uw Azure Databricks-accountteam als u nog vragen hebt.
Als mijn gegevensbestanden niet continu binnenkomen, maar met regelmatige tussenpozen, bijvoorbeeld één keer per dag, moet ik deze bron nog steeds gebruiken en zijn er voordelen?
In dit geval kunt u een Trigger.AvailableNow gestructureerde streamingtaak (beschikbaar in Databricks Runtime 10.4 LTS en hoger) instellen en plannen om te worden uitgevoerd na de verwachte aankomsttijd van het bestand. Automatisch laadprogramma werkt goed met zowel onregelmatige als frequente updates. Zelfs als de uiteindelijke updates erg groot zijn, schaalt Auto Loader goed naar de invoergrootte. De efficiënte technieken voor bestandsdetectie en de mogelijkheden voor schema-evolutie maken Auto Loader de aanbevolen methode voor stapsgewijze gegevensinvoer.
Wat gebeurt er als ik de controlepuntlocatie wijzig bij het opnieuw opstarten van de stream?
Een controlepuntlocatie onderhoudt belangrijke identificatiegegevens van een stroom. Als u de locatie van het controlepunt wijzigt, betekent dit dat u de vorige stream hebt verlaten en een nieuwe stream hebt gestart.
Moet ik vooraf gebeurtenismeldingsservices maken?
Nee Als u de modus voor bestandsmeldingen kiest en de vereiste machtigingen opgeeft, kan Automatisch laden bestandsmeldingsservices voor u maken. Zie Bestandsmeldingswachtrijen beheren voor elke Auto Loader-stream afzonderlijk (verouderd).
Als bestandsevenementen zijn ingeschakeld op de externe locatie in Unity Catalog, kan de service bestandsevenementen maken in uw cloudprovider en hoeft u Auto Loader niet te configureren om ze voor elke stream te maken. Zie De modus Bestandsmelding gebruiken met bestandsevenementen
Hoe kan ik de gebeurtenismeldingsbronnen opschonen die zijn gemaakt door Auto Loader?
U kunt cloudresourcemanager gebruiken om resources weer te geven en te verwijderen. U kunt deze resources ook handmatig verwijderen met behulp van de gebruikersinterface of API's van de cloudprovider.
Kan ik meerdere streamingquery's uitvoeren vanuit verschillende invoermappen in dezelfde bucket/container?
Ja, zolang ze geen bovenliggende en onderliggende mappen zijn; Bijvoorbeeld, prod-logs/ en prod-logs/usage/ zou niet werken omdat /usage is een onderliggende map van /prod-logs.
Kan ik deze functie gebruiken wanneer er bestaande bestandsmeldingen zijn in mijn bucket of container?
Ja, zolang uw invoermap geen conflict veroorzaakt met het bestaande meldingsvoorvoegsel (bijvoorbeeld de bovenstaande bovenliggende en onderliggende mappen).
Hoe leidt het automatisch laden schema af?
Wanneer het DataFrame voor het eerst is gedefinieerd, geeft Auto Loader uw bronmap weer en kiest u de meest recente (door bestandswijzigingstijd) 50 GB aan gegevens of 1000 bestanden en gebruikt deze om uw gegevensschema af te leiden.
Auto Loader zorgt er ook voor dat partitiekolommen worden afgeleid door de structuur van de bronmap te controleren en te zoeken naar bestandspaden die de /key=value/ structuur bevatten. Als de bronmap een inconsistente structuur heeft, bijvoorbeeld:
base/path/partition=1/date=2020-12-31/file1.json
// inconsistent because date and partition directories are in different orders
base/path/date=2020-12-31/partition=2/file2.json
// inconsistent because the date directory is missing
base/path/partition=3/file3.json
Met automatisch laden worden de partitiekolommen afgeleid als leeg. Gebruik cloudFiles.partitionColumns dit om kolommen expliciet te parseren uit de mapstructuur.
Hoe gedraagt autolaadprogramma zich wanneer de bronmap leeg is?
Als de bronmap leeg is, moet u een schema opgeven omdat er geen gegevens zijn om deductie uit te voeren.
Wanneer leidt autoloader schema af? Verandert het automatisch na elke microbatch?
Het schema wordt afgeleid wanneer het DataFrame voor het eerst in uw code is gedefinieerd. Tijdens elke micro-batch worden schemawijzigingen direct geëvalueerd, daarom hoeft u zich geen zorgen te maken over prestatieverlies. Wanneer de stream opnieuw wordt opgestart, wordt het ontwikkelde schema opgehaald van de schemalocatie en wordt het uitgevoerd zonder overhead van deductie.
Wat is de prestatie-impact van het opnemen van de gegevens wanneer gebruik wordt gemaakt van schema-inferentie bij automatisch laden?
U kunt verwachten dat schemadeductie enkele minuten duurt voor zeer grote bronmappen tijdens de initiële schemadeductie. U moet geen significante prestatieverlies observeren tijdens de streamuitvoering. Als u uw code uitvoert in een Azure Databricks-notebook, kunt u statusupdates zien die aangeven wanneer automatisch laden uw map weergeeft voor steekproeven en het uitstellen van uw gegevensschema.
Vanwege een fout heeft een ongeldig bestand mijn schema drastisch gewijzigd. Wat moet ik doen om een schemawijziging terug te draaien?
Neem contact op met databricks-ondersteuning voor hulp.
Hoe bepaalt automatisch laden of een bestand is opgenomen of niet?
Auto Loader neemt normaal gesproken elk bestand slechts één keer op op basis van het bestandspad. Als u de allowOverwrites optie trueechter instelt, gebruikt Auto Loader ook de laatst gewijzigde tijdstempel van het bestand om te bepalen of een bestand nieuw is of is bijgewerkt en opnieuw moet worden opgenomen. Zie Wordt het bestand opnieuw verwerkt wanneer het bestand wordt toegevoegd of overschreven?