COPY INTO
Van toepassing op: Databricks SQL
Databricks Runtime
Laadt gegevens van een bestandslocatie in een Delta-tabel. Dit is een nieuwe poging en idempotente bewerking: bestanden op de bronlocatie die al zijn geladen, worden overgeslagen. Dit geldt zelfs als de bestanden zijn gewijzigd sinds ze zijn geladen. Zie Algemene patronen voor het laden van gegevens met behulp van COPY INTOvoor voorbeelden.
Syntaxis
COPY INTO target_table [ BY POSITION | ( col_name [ , <col_name> ... ] ) ]
FROM { source_clause |
( SELECT expression_list FROM source_clause ) }
FILEFORMAT = data_source
[ VALIDATE [ ALL | num_rows ROWS ] ]
[ FILES = ( file_name [, ...] ) | PATTERN = glob_pattern ]
[ FORMAT_OPTIONS ( { data_source_reader_option = value } [, ...] ) ]
[ COPY_OPTIONS ( { copy_option = value } [, ...] ) ]
source_clause
source [ WITH ( [ CREDENTIAL { credential_name |
(temporary_credential_options) } ]
[ ENCRYPTION (encryption_options) ] ) ]
Parameterwaarden
target_table
Identificeert een bestaande Delta-tabel. De target_table mag geen tijdelijke specificatie of optiesspecificatie bevatten.
Als de tabelnaam wordt opgegeven in de vorm van een locatie, zoals:
delta.`/path/to/table`
, kan Unity Catalog de toegang beheren tot de locaties waarnaar wordt geschreven. U kunt schrijven naar een externe locatie door:- De locatie definiëren als een externe locatie en
WRITE FILES
machtigingen hebben voor die externe locatie. - Met
WRITE FILES
autorisaties voor een benoemde opslagreferentie die toestemming geven om naar een locatie te schrijven met behulp van:COPY INTO delta.`/some/location` WITH (CREDENTIAL <named-credential>)
Zie Verbinding maken met cloudobjectopslag en -services met behulp van Unity Catalog voor meer informatie.
- De locatie definiëren als een externe locatie en
BY POSITION
| ( col_name [ , <col_name> ... ] )Komt overeen met bronkolommen van de doeltabelkolommen op basis van hun volgorde. Het type casten van de overeenkomende kolommen wordt automatisch uitgevoerd.
Deze parameter wordt alleen ondersteund voor de csv-bestandsindeling zonder koptekst. U moet opgeven
FILEFORMAT = CSV
.FORMAT_OPTIONS
moet ook worden ingesteld op("headers" = "false")
(FORMAT_OPTIONS ("headers" = "false")
is de standaardinstelling).Syntaxisoptie 1:
BY POSITION
- Koppelt automatisch bronkolommen met de kolommen van de doeltabel op basis van volgorde.
- De standaardnaamkoppeling wordt niet gebruikt voor overeenkomende waarden.
-
IDENTITY
kolommen enGENERATED
kolommen van de doeltabel worden genegeerd wanneer deze overeenkomen met de bronkolommen. - Als het aantal bronkolommen niet gelijk is aan de gefilterde kolommen van de doeltabel, veroorzaakt
COPY INTO
een fout.
Syntaxisoptie 2:
( col_name [ , <col_name> ... ] )
- Komt overeen door bronkolommen af te stemmen op de opgegeven doeltabelkolommen volgens hun relatieve volgorde, met behulp van een lijst met kolomnamen van de doeltabel tussen haakjes, gescheiden door komma's.
- De oorspronkelijke volgorde van de tabelkolommen en kolomnamen wordt niet gebruikt voor het matchen.
-
IDENTITY
kolommen enGENERATED
kolommen kunnen niet worden opgegeven in de lijst met kolomnamen, anders wordt er een fout gegenereerdCOPY INTO
. - De opgegeven kolommen kunnen niet worden gedupliceerd.
- Wanneer het aantal bronkolommen niet gelijk is aan de opgegeven tabelkolommen, wordt er een fout gegenereerd
COPY INTO
. - Voor de kolommen die niet zijn opgegeven in de lijst met kolomnamen, wijst
COPY INTO
standaardwaarden toe, indien van toepassing, en wijst andersNULL
toe. Als een kolom niet nullbaar is, genereertCOPY INTO
een fout.
- Koppelt automatisch bronkolommen met de kolommen van de doeltabel op basis van volgorde.
source
De bestandslocatie waaruit de gegevens moeten worden geladen. Bestanden op deze locatie moeten de indeling hebben die is opgegeven in
FILEFORMAT
. De locatie wordt opgegeven in de vorm van een URI.Toegang tot de bronlocatie kan worden geboden via:
credential_name
Optionele naam van de referentie die wordt gebruikt voor toegang tot of schrijven naar de opslaglocatie. U gebruikt deze referentie alleen als de bestandslocatie niet is opgenomen in een externe locatie. Zie credential_name.
Inline tijdelijke referenties.
De bronlocatie definiëren als een externe locatie en
READ FILES
machtigingen hebben voor de externe locatie via Unity Catalog.Een benoemde opslagreferentie gebruiken met
READ FILES
permissies die autorisatie bieden om via Unity Catalog vanaf een locatie te lezen.
U hoeft geen inline- of benoemde referenties op te geven als het pad al is gedefinieerd als een externe locatie waarvoor u machtigingen hebt om te gebruiken. Zie Een externe locatie maken om cloudopslag te verbinden met Azure Databricks voor meer informatie.
Notitie
Als het pad naar het bronbestand een hoofdpad is, voegt u bijvoorbeeld een slash (
/
) toe aan het einde van het bestandspads3://my-bucket/
.Geaccepteerde referentieopties zijn:
-
AZURE_SAS_TOKEN
voor ADLS Gen2 en Azure Blob Storage -
AWS_ACCESS_KEY
,AWS_SECRET_KEY
enAWS_SESSION_TOKEN
voor AWS S3
Geaccepteerde versleutelingsopties zijn:
-
TYPE = 'AWS_SSE_C'
enMASTER_KEY
voor AWS S3
Zie Gegevens laden met COPY INTO met tijdelijke referenties.
SELECT expression_list
Selecteert de opgegeven kolommen of expressies uit de brongegevens voordat u naar de Delta-tabel kopieert. De expressies kunnen alles zijn wat u gebruikt met
SELECT
instructies, waaronder vensterbewerkingen. U kunt aggregatie-expressies alleen gebruiken voor globale aggregaten; u kunt geenGROUP BY
op kolommen toepassen met deze syntaxis.FILEFORMAT = data_source
De indeling van de bronbestanden die moeten worden geladen. Een van
CSV
, ,JSON
,AVRO
,ORC
PARQUET
, , , .TEXT
BINARYFILE
VALIDATE
Van toepassing op:
Databricks SQL
Databricks Runtime 10.4 LTS en hoger
De gegevens die in een tabel moeten worden geladen, worden gevalideerd, maar niet naar de tabel geschreven. Deze validaties zijn onder andere:
- Of de gegevens kunnen worden geparseerd.
- Of het schema overeenkomt met dat van de tabel of dat het schema moet worden ontwikkeld.
- Of aan alle null-waarden en controlebeperkingen wordt voldaan.
De standaardinstelling is om alle gegevens te valideren die moeten worden geladen. U kunt een aantal rijen opgeven dat moet worden gevalideerd met het
ROWS
trefwoord, zoalsVALIDATE 15 ROWS
. DeCOPY INTO
instructie retourneert een voorbeeld van de gegevens van 50 rijen of minder wanneer een aantal minder dan 50 wordt gebruikt met hetROWS
trefwoord).FILES
Een lijst met bestandsnamen die moeten worden geladen, met een limiet van 1000 bestanden. Kan niet worden opgegeven met
PATTERN
.PATTERN
Een glob-patroon dat de bestanden identificeert die moeten worden geladen vanuit de bronmap. Kan niet worden opgegeven met
FILES
.Patroon Beschrijving ?
Komt overeen met één teken *
Komt overeen met nul of meer tekens [abc]
Komt overeen met één teken uit de tekenset {a,b,c}. [a-z]
Komt overeen met één teken uit het tekenbereik {a... z}. [^a]
Komt overeen met één teken dat niet afkomstig is uit de tekenset of het bereik {a}. Houd er rekening mee dat het ^
teken direct rechts van de haak openen moet plaatsvinden.{ab,cd}
Komt overeen met een tekenreeks uit de verzameling {ab, cd}. {ab,c{de, fh}}
Komt overeen met een tekenreeks in de verzameling van tekenreeksen {ab, cde, cfh}. FORMAT_OPTIONS
Opties die moeten worden doorgegeven aan de Apache Spark-gegevensbronlezer voor de opgegeven indeling. Zie Indelingsopties voor elke bestandsindeling.
COPY_OPTIONS
Opties voor het beheren van de bewerking van de
COPY INTO
opdracht.-
force
: Booleaanse waarde, standaardfalse
. Als deze optie is ingesteld optrue
, is idempotentie uitgeschakeld en worden bestanden geladen, ongeacht of ze eerder zijn geladen. -
mergeSchema
: Booleaanse waarde, standaardfalse
. Als dit is ingesteld optrue
, kan het schema worden ontwikkeld op basis van de binnenkomende gegevens.
-
Gelijktijdig aanroepen COPY INTO
COPY INTO
ondersteunt gelijktijdige aanroepen voor dezelfde tabel. Zolang COPY INTO
gelijktijdig wordt aangeroepen op afzonderlijke sets van invoerbestanden, moet elke aanroep uiteindelijk succesvol zijn, anders krijgt u een transactieconflict.
COPY INTO
mag niet gelijktijdig worden aangeroepen om de prestaties te verbeteren; een enkele COPY INTO
opdracht met meerdere bestanden presteert doorgaans beter dan het uitvoeren van gelijktijdige COPY INTO
opdrachten met elk één bestand.
COPY INTO
kan gelijktijdig worden aangeroepen wanneer:
- Meerdere gegevensproducenten hebben geen eenvoudige manier om te coördineren en kunnen niet één aanroep maken.
- Wanneer een zeer grote map kan worden opgenomen submap per submap. Wanneer u directory's met een zeer groot aantal bestanden opneemt, raadt Databricks het gebruik van Auto Loader indien mogelijk aan.
Metagegevens van access-bestanden
Zie Bestandsmetagegevenskolomvoor informatie over het benaderen van metagegevens voor bestandsgebaseerde gegevensbronnen.
Opmaakopties
- Algemene opties
-
JSON
Opties -
CSV
Opties -
XML
Opties -
PARQUET
Opties -
AVRO
Opties -
BINARYFILE
Opties -
TEXT
Opties -
ORC
Opties
Algemene opties
De volgende opties zijn van toepassing op alle bestandsindelingen.
Optie |
---|
ignoreCorruptFiles Type: Boolean Of beschadigde bestanden moeten worden genegeerd. Indien waar, worden de Spark-taken nog steeds uitgevoerd wanneer er beschadigde bestanden worden aangeroepen en de inhoud die is gelezen nog steeds wordt geretourneerd. Waarneembaar zoals numSkippedCorruptFiles in deoperationMetrics kolom van de Delta Lake-geschiedenis. Beschikbaar in Databricks Runtime 11.3 LTS en hoger.Standaardwaarde: false |
ignoreMissingFiles Type: Boolean Of ontbrekende bestanden moeten worden genegeerd. Indien waar, blijven de Spark-taken worden uitgevoerd wanneer er ontbrekende bestanden optreden en wordt de inhoud die is gelezen nog steeds geretourneerd. Beschikbaar in Databricks Runtime 11.3 LTS en hoger. Standaardwaarde: false (true voor COPY INTO ) |
modifiedAfter Type: Timestamp String bijvoorbeeld 2021-01-01 00:00:00.000000 UTC+0 Een optionele tijdstempel voor het opnemen van bestanden met een wijzigingstijdstempel na de opgegeven tijdstempel. Standaardwaarde: Geen |
modifiedBefore Type: Timestamp String bijvoorbeeld 2021-01-01 00:00:00.000000 UTC+0 Een optionele tijdstempel voor het opnemen van bestanden met een wijzigingstijdstempel vóór de opgegeven tijdstempel. Standaardwaarde: Geen |
pathGlobFilter of fileNamePattern Type: String Een potentieel globpatroon om bestanden te kiezen. Gelijk aan PATTERN in COPY INTO .
fileNamePattern kan worden gebruikt in read_files .Standaardwaarde: Geen |
recursiveFileLookup Type: Boolean Of partitiedeductie tijdens schemadeductie moet worden overgeslagen. Dit heeft geen invloed op welke bestanden worden geladen. Standaardwaarde: false |
JSON
Opties
Optie |
---|
allowBackslashEscapingAnyCharacter Type: Boolean Of backslashes mogen ontsnappen aan elk teken dat slaagt. Als dit niet is ingeschakeld, kunnen alleen tekens die expliciet worden vermeld door de JSON-specificatie, worden ontsnapt. Standaardwaarde: false |
allowComments Type: Boolean Of het gebruik van opmerkingen in java-, C- en C++-stijl ( '/' , '*' en '//' variëteiten) binnen geparseerde inhoud al dan niet is toegestaan.Standaardwaarde: false |
allowNonNumericNumbers Type: Boolean Hiermee wordt aangegeven of de reeks niet-een-getal tokens ( NaN ) als toegestane zwevende getalwaarden moet worden beschouwd.Standaardwaarde: true |
allowNumericLeadingZeros Type: Boolean Of u wilt toestaan dat integrale getallen beginnen met extra (negeerbare) nullen (bijvoorbeeld 000001 ).Standaardwaarde: false |
allowSingleQuotes Type: Boolean Hiermee wordt aangegeven of het gebruik van enkele aanhalingstekens (apostrof, teken '\' ) moet worden toegestaan voor het aanhalen van reeksen (namen en tekenreekswaarden).Standaardwaarde: true |
allowUnquotedControlChars Type: Boolean Of JSON-tekenreeksen niet-gescaped besturingstekens bevatten (ASCII-tekens met een waarde kleiner dan 32, inclusief tab- en regelinvoertekens) of niet. Standaardwaarde: false |
allowUnquotedFieldNames Type: Boolean Of u het gebruik van niet-aanhalingeerde veldnamen wilt toestaan (die zijn toegestaan door JavaScript, maar niet door de JSON-specificatie). Standaardwaarde: false |
badRecordsPath Type: String Het pad naar het opslaan van bestanden voor het vastleggen van de informatie over ongeldige JSON-records. Standaardwaarde: Geen |
columnNameOfCorruptRecord Type: String De kolom voor het opslaan van records die misvormd zijn en niet kunnen worden geparseerd. Als de mode voor parseren is ingesteld als DROPMALFORMED , is deze kolom leeg.Standaardwaarde: _corrupt_record |
dateFormat Type: String De notatie voor het parseren van datumtekenreeksen. Standaardwaarde: yyyy-MM-dd |
dropFieldIfAllNull Type: Boolean Of kolommen van alle null-waarden of lege matrices en structs tijdens schemadeductie moeten worden genegeerd. Standaardwaarde: false |
encoding of charset Type: String De naam van de codering van de JSON-bestanden. Zie java.nio.charset.Charset voor een lijst met opties. U kunt niet gebruiken UTF-16 en UTF-32 wanneer multiline is true .Standaardwaarde: UTF-8 |
inferTimestamp Type: Boolean Of u tijdstempeltekenreeksen wilt afleiden als een TimestampType . Wanneer ingesteld optrue kan het afleiden van het schema merkbaar langer duren. U moet inschakelen cloudFiles.inferColumnTypes voor gebruik met automatisch laden.Standaardwaarde: false |
lineSep Type: String Een tekenreeks tussen twee opeenvolgende JSON-records. Standaardwaarde: Geen, die betrekking heeft \r op , \r\n en \n |
locale Type: String Een java.util.Locale -id. Beïnvloedt de standaarddatum, tijdstempel en decimale parsering binnen de JSON.Standaardwaarde: US |
mode Type: String Parsermodus voor het verwerken van onjuiste records. Eén van 'PERMISSIVE' ,'DROPMALFORMED' , of 'FAILFAST' .Standaardwaarde: PERMISSIVE |
multiLine Type: Boolean Of de JSON-records meerdere regels omvatten. Standaardwaarde: false |
prefersDecimal Type: Boolean Probeert tekenreeksen af te stellen zoals DecimalType in plaats van float of dubbel type, indien mogelijk. U moet ook schemadeductie gebruiken door het inschakelen vaninferSchema of met cloudFiles.inferColumnTypes automatisch laadprogramma gebruiken.Standaardwaarde: false |
primitivesAsString Type: Boolean Of primitieve typen als getallen en booleaanse waarden moeten worden afgeleid. StringType Standaardwaarde: false |
readerCaseSensitive Type: Boolean Hiermee geeft u het hoofdlettergevoeligheidsgedrag op wanneer rescuedDataColumn deze is ingeschakeld. Indien waar, redt u de gegevenskolommen waarvan de namen verschillen per geval van het schema; lees anders de gegevens op een niet-hoofdlettergevoelige manier. Beschikbaar in Databricks Runtime13.3 en hoger. Standaardwaarde: true |
rescuedDataColumn Type: String Of u alle gegevens wilt verzamelen die niet kunnen worden geparseerd als gevolg van een niet-overeenkomend gegevenstype of niet-overeenkomende schema's (inclusief kolombehuizing) naar een afzonderlijke kolom. Deze kolom wordt standaard opgenomen bij het gebruik van automatisch laden. Raadpleeg Wat is de kolom met geredde gegevens?. Standaardwaarde: Geen |
singleVariantColumn Type: String Of u het hele JSON-document wilt opnemen, geparseerd in één variantkolom met de opgegeven tekenreeks als de naam van de kolom. Als deze optie is uitgeschakeld, worden de JSON-velden opgenomen in hun eigen kolommen. Standaardwaarde: Geen |
timestampFormat Type: String De notatie voor tijdstempeltekenreeksen parseren. Standaardwaarde: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] |
timeZone Type: String De java.time.ZoneId te gebruiken bij het parseren van tijdstempels en datums.Standaardwaarde: Geen |
CSV
Opties
Optie |
---|
badRecordsPath Type: String Het pad naar het opslaan van bestanden voor het vastleggen van de informatie over ongeldige CSV-records. Standaardwaarde: Geen |
charToEscapeQuoteEscaping Type: Char Het teken dat wordt gebruikt om te ontsnappen aan het teken dat wordt gebruikt voor escape-aanhalingstekens. Bijvoorbeeld voor de volgende record: [ " a\\", b ] - Als het teken om te ontsnappen aan het '\' teken niet is gedefinieerd, wordt de record niet geparseerd. De parser leest tekens en [a],[\],["],[,],[ ],[b] genereert een fout omdat er geen slotcitaat kan worden gevonden.- Als het teken voor het ontsnappen aan '\' is gedefinieerd als '\' , wordt de record gelezen met 2 waarden: [a\] en [b] .Standaardwaarde: '\0' |
columnNameOfCorruptRecord Ondersteund voor automatisch laden. Niet ondersteund voor COPY INTO .Type: String De kolom voor het opslaan van vervormde records die niet kunnen worden geparsed. Als de mode voor parseren is ingesteld als DROPMALFORMED , is deze kolom leeg.Standaardwaarde: _corrupt_record |
comment Type: Char Hiermee definieert u het teken dat een regelcommentaar aangeeft wanneer deze wordt gevonden aan het begin van een tekstregel. Hiermee '\0' schakelt u het overslaan van opmerkingen uit.Standaardwaarde: '\u0000' |
dateFormat Type: String De notatie voor het parseren van datumtekenreeksen. Standaardwaarde: yyyy-MM-dd |
emptyValue Type: String Tekenreeksweergave van een lege waarde. Standaardwaarde: "" |
encoding of charset Type: String De naam van de codering van de CSV-bestanden. Zie java.nio.charset.Charset voor de lijst met opties.
UTF-16 en UTF-32 kan niet worden gebruikt wanneer multiline .true Standaardwaarde: UTF-8 |
enforceSchema Type: Boolean Of u het opgegeven of afgeleid schema geforceerd wilt toepassen op de CSV-bestanden. Als de optie is ingeschakeld, worden headers van CSV-bestanden genegeerd. Deze optie wordt standaard genegeerd wanneer u AutoLoader gebruikt om gegevens te redden en schemaontwikkeling mogelijk te maken. Standaardwaarde: true |
escape Type: Char Het escape-teken dat moet worden gebruikt bij het parseren van de gegevens. Standaardwaarde: '\' |
header Type: Boolean Of de CSV-bestanden een koptekst bevatten. Auto Loader gaat ervan uit dat bestanden headers hebben bij het uitstellen van het schema. Standaardwaarde: false |
ignoreLeadingWhiteSpace Type: Boolean Of u voorloopspaties voor elke geparseerde waarde wilt negeren. Standaardwaarde: false |
ignoreTrailingWhiteSpace Type: Boolean Hiermee wordt aangegeven of u volgspaties voor elke geparseerde waarde wilt negeren. Standaardwaarde: false |
inferSchema Type: Boolean Of u de gegevenstypen van de geparseerde CSV-records wilt afleiden of dat u aanneemt dat alle kolommen van type StringType zijn. Vereist een extra stap over de gegevens indien ingesteld op true . Gebruik in plaats daarvan voor autolaadprogramma's cloudFiles.inferColumnTypes .Standaardwaarde: false |
lineSep Type: String Een tekenreeks tussen twee opeenvolgende CSV-records. Standaardwaarde: Geen, die betrekking heeft \r op , \r\n en \n |
locale Type: String Een java.util.Locale -id. Beïnvloedt de standaarddatum, tijdstempel en decimale parsering in het CSV-bestand.Standaardwaarde: US |
maxCharsPerColumn Type: Int Maximum aantal tekens dat wordt verwacht van een waarde om te parseren. Kan worden gebruikt om geheugenfouten te voorkomen. Standaard ingesteld -1 op , wat onbeperkt betekent.Standaardwaarde: -1 |
maxColumns Type: Int De vaste limiet van het aantal kolommen dat een record kan hebben. Standaardwaarde: 20480 |
mergeSchema Type: Boolean Of u het schema wilt afleiden over meerdere bestanden en het schema van elk bestand wilt samenvoegen. Standaard ingeschakeld voor Auto Loader bij het afleiden van het schema. Standaardwaarde: false |
mode Type: String Parsermodus voor het verwerken van onjuiste records. Eén van 'PERMISSIVE' ,'DROPMALFORMED' , en 'FAILFAST' .Standaardwaarde: PERMISSIVE |
multiLine Type: Boolean Of de CSV-records meerdere regels omvatten. Standaardwaarde: false |
nanValue Type: String De tekenreeksweergave van een niet-een-getalwaarde bij het parseren van FloatType en DoubleType kolommen.Standaardwaarde: "NaN" |
negativeInf Type: String De tekenreeksweergave van negatief oneindig bij het parseren van de kolommen FloatType of DoubleType .Standaardwaarde: "-Inf" |
nullValue Type: String Tekenreeksweergave van een null-waarde. Standaardwaarde: "" |
parserCaseSensitive (afgeschaft)Type: Boolean Tijdens het lezen van bestanden, de vraag of kolommen in de koptekst hoofdlettergevoelig moeten worden uitgelijnd met het schema. Dit is true standaard voor autolaadprogramma's. Kolommen die per geval verschillen, worden in de rescuedDataColumn gered indien ingeschakeld. Deze optie is afgeschaft ten gunste van readerCaseSensitive .Standaardwaarde: false |
positiveInf Type: String De tekenreeksweergave van positieve oneindigheid bij het parseren van FloatType of DoubleType kolommen.Standaardwaarde: "Inf" |
preferDate Type: Boolean Probeert tekenreeksen af te stellen als datums in plaats van tijdstempel, indien mogelijk. U moet ook schemadeductie gebruiken, ofwel door inferSchema in te schakelen of een andere methode te gebruiken.cloudFiles.inferColumnTypes met automatisch laadprogramma.Standaardwaarde: true |
quote Type: Char Het karakter dat wordt gebruikt als escapekarakter voor waarden waarin het veldscheidingsteken deel uitmaakt van de waarde. Standaardwaarde: " |
readerCaseSensitive Type: Boolean Hiermee geeft u het hoofdlettergevoeligheidsgedrag op wanneer rescuedDataColumn deze is ingeschakeld. Indien waar, redt u de gegevenskolommen waarvan de namen verschillen per geval van het schema; lees anders de gegevens op een niet-hoofdlettergevoelige manier.Standaardwaarde: true |
rescuedDataColumn Type: String Of u alle gegevens wilt verzamelen die niet kunnen worden geparseerd vanwege: een gegevenstype komt niet overeen en het schema komt niet overeen (inclusief kolombehuizing) in een afzonderlijke kolom. Deze kolom wordt standaard opgenomen bij het gebruik van automatisch laden. Voor meer informatie, raadpleeg Wat is de kolom met geredde gegevens?. Standaardwaarde: Geen |
sep of delimiter Type: String De scheidingstekenreeks tussen kolommen. Standaardwaarde: "," |
skipRows Type: Int Het aantal rijen vanaf het begin van het CSV-bestand dat moet worden genegeerd (inclusief opmerkingen en lege rijen). Als header waar is, is de kop de eerste niet-overgeslagen en niet-commentaarrij.Standaardwaarde: 0 |
timestampFormat Type: String De notatie voor tijdstempeltekenreeksen parseren. Standaardwaarde: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] |
timeZone Type: String De java.time.ZoneId te gebruiken bij het parseren van tijdstempels en datums.Standaardwaarde: Geen |
unescapedQuoteHandling Type: String De strategie voor het verwerken van ongezichtige koersen. Toegestane opties: - STOP_AT_CLOSING_QUOTE : Als er onopgezichtige aanhalingstekens worden gevonden in de invoer, verzamelt u het aanhalingsteken en gaat u verder met het parseren van de waarde als een aanhalingsteken, totdat er een aanhalingsteken wordt gevonden.- BACK_TO_DELIMITER : Als er onopgemerkte aanhalingstekens worden gevonden in de invoer, kunt u de waarde beschouwen als een niet-aanhalingsteken. Hierdoor verzamelt de parser alle tekens van de huidige geparseerde waarde totdat het scheidingsteken dat is gedefinieerd door sep is gevonden. Als er geen scheidingsteken in de waarde wordt gevonden, blijft de parser tekens uit de invoer accumuleren totdat een scheidingsteken of regeleinde is gevonden.- STOP_AT_DELIMITER : Als er onopgemerkte aanhalingstekens worden gevonden in de invoer, kunt u de waarde beschouwen als een niet-aanhalingsteken. Hierdoor wordt de parser alle tekens verzameld totdat het scheidingsteken dat is gedefinieerd door sep , of een regeleinde wordt gevonden in de invoer.- SKIP_VALUE : Als er ongedekte aanhalingstekens in de invoer worden aangetroffen, wordt de inhoud tot aan het volgende scheidingsteken overgeslagen en in plaats daarvan wordt de waarde uit nullValue gegenereerd.- RAISE_ERROR : Als er ongezichtige aanhalingstekens worden gevonden in de invoer, is eenTextParsingException zal worden gegooid.Standaardwaarde: STOP_AT_DELIMITER |
XML
Opties
Optie | Beschrijving | Bereik |
---|---|---|
rowTag |
De rijtag van de XML-bestanden die moeten worden behandeld als een rij. In het voorbeeld-XML <books> <book><book>...<books> is book de juiste waarde. Dit is een vereiste optie. |
gelezen |
samplingRatio |
Definieert een fractie van rijen die worden gebruikt voor schemadeductie. Ingebouwde XML-functies negeren deze optie. Standaard: 1.0 . |
gelezen |
excludeAttribute |
Of kenmerken in elementen moeten worden uitgesloten. Standaard: false . |
gelezen |
mode |
Modus voor het verwerken van beschadigde records tijdens het parseren.PERMISSIVE : Voor beschadigde records plaatst u de ongeldige tekenreeks in een veld dat is geconfigureerd door columnNameOfCorruptRecord en stelt u onjuiste velden in op null . Als u beschadigde records wilt behouden, kunt u een string typeveld met de naam columnNameOfCorruptRecord instellen in een door de gebruiker gedefinieerd schema. Als een schema het veld niet heeft, worden beschadigde records verwijderd tijdens het parseren. Wanneer een schema wordt afgeleid, voegt de parser impliciet een columnNameOfCorruptRecord -veld toe in een uitvoerschema.DROPMALFORMED : Hiermee worden beschadigde records genegeerd. Deze modus wordt niet ondersteund voor ingebouwde XML-functies.FAILFAST : Genereert een uitzondering wanneer de parser voldoet aan beschadigde records. |
gelezen |
inferSchema |
Wanneer true , wordt geprobeerd om een geschikt type af te leiden voor elke resulterende DataFrame-kolom. Als false , zijn alle resulterende kolommen van string type. Standaardinstelling:true . Ingebouwde XML-functies negeren deze optie. |
gelezen |
columnNameOfCorruptRecord |
Hiermee kunt u de naam van het nieuwe veld wijzigen dat een ongeldige tekenreeks bevat die is gemaakt doorPERMISSIVE wijze. Standaard: spark.sql.columnNameOfCorruptRecord . |
gelezen |
attributePrefix |
Het voorvoegsel voor kenmerken om kenmerken te onderscheiden van elementen. Dit is het voorvoegsel voor veldnamen. Standaard is _ . Kan leeg zijn voor het lezen van XML, maar niet voor schrijven. |
lezen, schrijven |
valueTag |
De tag die wordt gebruikt voor de tekengegevens in elementen die ook kenmerk(en) of onderliggende elementen bevatten. Gebruiker kan het valueTag veld in het schema opgeven of het wordt automatisch toegevoegd tijdens schemadeductie wanneer tekengegevens aanwezig zijn in elementen met andere elementen of kenmerken. Standaardwaarde: _VALUE |
lezen, schrijven |
encoding |
Voor het lezen decodeert u de XML-bestanden op basis van het opgegeven coderingstype. Voor schrijven geeft u codering (charset) van opgeslagen XML-bestanden op. Ingebouwde XML-functies negeren deze optie. Standaard: UTF-8 . |
lezen, schrijven |
ignoreSurroundingSpaces |
Hiermee bepaalt u of de omringende spaties van waarden die worden gelezen, moeten worden overgeslagen. Standaard: true . Alleen-witruimtegegevens worden genegeerd. |
gelezen |
rowValidationXSDPath |
Pad naar een optioneel XSD-bestand dat wordt gebruikt om de XML voor elke rij afzonderlijk te valideren. Rijen die niet kunnen worden gevalideerd, worden behandeld als parseringsfouten zoals hierboven. De XSD heeft verder geen invloed op het verstrekte of afgeleide schema. | gelezen |
ignoreNamespace |
Als true de voorvoegsels van naamruimten op XML-elementen en -kenmerken worden genegeerd. Tags <abc:author> en <def:author> , bijvoorbeeld, worden behandeld alsof ze alleen <author> zijn. Naamruimten kunnen niet worden genegeerd op het rowTag element, alleen de leesliggende onderliggende elementen. XML-parsering is niet naamruimtebewust, zelfs niet als false . Standaard: false . |
gelezen |
timestampFormat |
Aangepaste tekenreeks voor tijdstempelnotatie die de datum/tijd-patroonnotatie volgt. Dit is van toepassing op timestamp het type. Standaard: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] . |
lezen, schrijven |
timestampNTZFormat |
Aangepaste opmaakreeks voor tijdstempel zonder tijdzone volgens het datetime-patroon. Dit is van toepassing op het type TimestampNTZType. Standaardinstelling:yyyy-MM-dd'T'HH:mm:ss[.SSS] |
lezen, schrijven |
dateFormat |
Tekenreeks voor aangepaste datumnotatie die de datum/tijd-patroonnotatie volgt. Dit is van toepassing op het datumtype. Standaard: yyyy-MM-dd . |
lezen, schrijven |
locale |
Hiermee stelt u een landinstelling in als taaltag in IETF BCP 47-indeling. Wordt bijvoorbeeld locale gebruikt tijdens het parseren van datums en tijdstempels. Standaard: en-US . |
gelezen |
rootTag |
Hoofdtag van de XML-bestanden. De juiste waarde is <books> <book><book>...</books> bijvoorbeeld books in . U kunt basiskenmerken opnemen door een waarde op te geven zoals books foo="bar" . Standaard: ROWS . |
schrijven |
declaration |
Inhoud van XML-declaratie die moet worden geschreven aan het begin van elk XML-uitvoerbestand, vóór de rootTag . Bijvoorbeeld een waarde van foo oorzaken <?xml foo?> die worden geschreven. Ingesteld op een lege tekenreeks die moet worden onderdrukt. Standaardwaarde: version="1.0" encoding="UTF-8" standalone="yes" . |
schrijven |
arrayElementName |
De naam van het XML-element dat elk element van een kolom met matrixwaarden omsluit bij het schrijven. Standaard: item . |
schrijven |
nullValue |
Hiermee stelt u de tekenreeksweergave van een null-waarde in. Standaard: tekenreeks null . Als dit het geval is null , schrijft de parser geen kenmerken en elementen voor velden. |
lezen, schrijven |
compression |
Compressiecode die moet worden gebruikt bij het opslaan in een bestand. Dit kan een van de bekende niet-hoofdlettergevoelige verkorte namen zijn (none , bzip2 , gzip lz4 en snappy deflate ). Ingebouwde XML-functies negeren deze optie. Standaard: none . |
schrijven |
validateName |
Als waar is, treedt er een fout op bij validatiefout voor XML-elementnamen. SQL-veldnamen kunnen bijvoorbeeld spaties bevatten, maar namen van XML-elementen kunnen niet worden gebruikt. Standaardinstelling:true . |
schrijven |
readerCaseSensitive |
Hiermee geeft u het hoofdlettergevoeligheidsgedrag op wanneer rescuedDataColumn is ingeschakeld. Indien waar, redt u de gegevenskolommen waarvan de namen verschillen per geval van het schema; lees anders de gegevens op een niet-hoofdlettergevoelige manier. Standaard: true . |
gelezen |
rescuedDataColumn |
Of u alle gegevens wilt verzamelen die niet kunnen worden geparseerd vanwege een niet-overeenkomend gegevenstype en niet-overeenkomende schema's (inclusief kolombehuizing) naar een afzonderlijke kolom. Deze kolom wordt standaard opgenomen bij het gebruik van automatisch laden. Voor meer informatie, zie Wat is de kolom met geredde gegevens?. Standaard: Geen. | gelezen |
PARQUET
Opties
Optie |
---|
datetimeRebaseMode Type: String Hiermee bepaalt u de rebasing van de DATUM- en TIJDSTEMPEL-waarden tussen Julian- en Proleptische Gregoriaanse kalenders. Toegestane waarden: EXCEPTION , LEGACY enCORRECTED .Standaardwaarde: LEGACY |
int96RebaseMode Type: String Hiermee bepaalt u de rebasing van de INT96-tijdstempelwaarden tussen Julian- en Proleptische Gregoriaanse kalenders. Toegestane waarden: EXCEPTION , LEGACY enCORRECTED .Standaardwaarde: LEGACY |
mergeSchema Type: Boolean Of u het schema wilt afleiden over meerdere bestanden en het schema van elk bestand wilt samenvoegen. Standaardwaarde: false |
readerCaseSensitive Type: Boolean Hiermee geeft u het hoofdlettergevoeligheidsgedrag op wanneer rescuedDataColumn deze is ingeschakeld. Indien waar, redt u de gegevenskolommen waarvan de namen verschillen per geval van het schema; lees anders de gegevens op een niet-hoofdlettergevoelige manier.Standaardwaarde: true |
rescuedDataColumn Type: String Of u alle gegevens wilt verzamelen die niet kunnen worden geparseerd vanwege: een gegevenstype komt niet overeen en het schema komt niet overeen (inclusief kolombehuizing) in een afzonderlijke kolom. Deze kolom wordt standaard opgenomen bij het gebruik van automatisch laden. Raadpleeg voor meer informatie Wat is de kolom met herwonnen gegevens?. Standaardwaarde: Geen |
AVRO
Opties
Optie |
---|
avroSchema Type: String Optioneel schema dat wordt aangeleverd door een gebruiker in Avro-indeling. Bij het lezen van Avro kan deze optie worden ingesteld op een ontwikkeld schema, dat compatibel is maar anders is met het werkelijke Avro-schema. Het deserialisatieschema is consistent met het ontwikkelde schema. Als u bijvoorbeeld een ontwikkeld schema instelt dat één extra kolom met een standaardwaarde bevat, bevat het leesresultaat ook de nieuwe kolom. Standaardwaarde: Geen |
datetimeRebaseMode Type: String Bepaalt de aanpassing van de DATUM- en TIJDSSTEMPELwaarden tussen de Juliaanse en Proleptische Gregoriaanse kalender. Toegestane waarden: EXCEPTION , LEGACY enCORRECTED .Standaardwaarde: LEGACY |
mergeSchema Type: Boolean Of u het schema wilt afleiden over meerdere bestanden en het schema van elk bestand wilt samenvoegen. mergeSchema Voor Avro worden gegevenstypen niet versoepelingd.Standaardwaarde: false |
readerCaseSensitive Type: Boolean Hiermee geeft u het hoofdlettergevoeligheidsgedrag op wanneer rescuedDataColumn deze is ingeschakeld. Indien waar, redt u de gegevenskolommen waarvan de namen verschillen per geval van het schema; lees anders de gegevens op een niet-hoofdlettergevoelige manier.Standaardwaarde: true |
rescuedDataColumn Type: String Of u alle gegevens wilt verzamelen die niet kunnen worden geparseerd vanwege: een gegevenstype komt niet overeen en het schema komt niet overeen (inclusief kolombehuizing) in een afzonderlijke kolom. Deze kolom wordt standaard opgenomen bij het gebruik van automatisch laden. Voor meer informatie, raadpleeg Wat is de kolom met geredde gegevens?. Standaardwaarde: Geen |
BINARYFILE
Opties
Binaire bestanden hebben geen extra configuratieopties.
TEXT
Opties
Optie |
---|
encoding Type: String De naam van de codering van de TEKSTBESTANDen. Zie java.nio.charset.Charset voor een lijst met opties.Standaardwaarde: UTF-8 |
lineSep Type: String Een tekenreeks tussen twee opeenvolgende TEKST-records. Standaardwaarde: Geen, die betrekking heeft op \r en \r\n \n |
wholeText Type: Boolean Of u een bestand als één record wilt lezen. Standaardwaarde: false |
ORC
Opties
Optie |
---|
mergeSchema Type: Boolean Of u het schema wilt afleiden over meerdere bestanden en het schema van elk bestand wilt samenvoegen. Standaardwaarde: false |