COPY INTO
Gilt für: Databricks SQL
Databricks Runtime
Lädt Daten aus einem Dateispeicherort in eine Delta-Tabelle. Hierbei handelt es sich um einen wiederholbaren und idempotenten Vorgang: Dateien am Quellspeicherort, die bereits geladen wurden, werden übersprungen. Dies gilt auch dann, wenn die Dateien seit dem Laden geändert wurden. Beispiele finden Sie unter Allgemeine Datenlademuster mit COPY INTO.
Syntax
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) ] ) ]
Parameter
target_table
Identifiziert eine vorhandene Delta-Tabelle. Der target_table darf keine temporale Spezifikation enthalten.
Wenn der Tabellenname in Form eines Speicherorts bereitgestellt wird, so wie:
delta.`/path/to/table`
, Unity Catalog kann den Zugriff auf die Speicherorte steuern, in die geschrieben wird. Sie können an einen externen Speicherort schreiben, indem Sie:- Den Speicherorts als externer Speicherort und
WRITE FILES
-Berechtigungen für diesen externen Speicherort definieren. - Mit
WRITE FILES
-Berechtigungen für eine benannte Speicheranmeldeinformationen, die die Autorisierung zum Schreiben an einen verwendeten Speicherort bereitstellen:COPY INTO delta.`/some/location` WITH (CREDENTIAL <named-credential>)
Weitere Informationen finden Sie unter Herstellen einer Verbindung mit Cloudobjektspeichern mithilfe von Unity Catalog.
- Den Speicherorts als externer Speicherort und
BY POSITION
| ( col_name [ , <col_name> … ] )Vergleicht Quellspalten mit Zieltabellenspalten nach Ordnungsposition. Die Typumwandlung der übereinstimmenden Spalten erfolgt automatisch.
Dieser Parameter wird nur für das CSV-Dateiformat ohne Kopfzeile unterstützt. Sie müssen
FILEFORMAT = CSV
angeben.FORMAT_OPTIONS
muss ebenfalls auf("headers" = "false")
festgelegt werden (FORMAT_OPTIONS ("headers" = "false")
ist die Standardeinstellung).Syntaxoption 1:
BY POSITION
- Vergleicht automatisch Quellspalten mit Zieltabellenspalten nach Ordnungsposition.
- Der Standardnamensabgleich wird nicht für den Abgleich verwendet.
- Die Spalten
IDENTITY
undGENERATED
der Zieltabelle werden beim Abgleich der Quellspalten ignoriert. - Wenn die Anzahl der Quellspalten nicht den gefilterten Zieltabellenspalten entspricht, löst
COPY INTO
einen Fehler aus.
Syntaxoption 2:
( col_name [ , <col_name> ... ] )
- Vergleicht Quellspalten mit den angegebenen Zieltabellenspalten nach relativer Ordnungsposition mithilfe einer Liste mit Namen der Zieltabellenspalten in Klammern, getrennt durch Komma.
- Die ursprüngliche Tabellenspaltenreihenfolge und Spaltennamen werden nicht für den Abgleich verwendet.
- Die Spalten
IDENTITY
undGENERATED
können nicht in der Spaltennamensliste angegeben werden, andernfalls löstCOPY INTO
einen Fehler aus. - Die angegebenen Spalten können nicht dupliziert werden.
- Wenn die Anzahl der Quellspalten nicht den angegebenen Tabellenspalten entspricht, löst
COPY INTO
einen Fehler aus. - Für die Spalten, die in der Spaltennamensliste nicht angegeben sind, weist
COPY INTO
ggf. Standardwerte und andernfallsNULL
zu. Wenn für eine Spalte keine Nullwerte zulässig sind, löstCOPY INTO
einen Fehler aus.
- Vergleicht automatisch Quellspalten mit Zieltabellenspalten nach Ordnungsposition.
source
Der Dateispeicherort, aus dem die Daten geladen werden sollen. Dateien an diesem Speicherort müssen das in
FILEFORMAT
angegebene Format aufweisen. Der Speicherort wird in Form einer URI angeboten.Der Zugriff auf den Quellspeicherort kann über Folgendes bereitgestellt werden:
credential_name
Optionaler Name der Anmeldeinformationen, die für den Zugriff auf oder das Schreiben in den Speicherort verwendet werden. Sie verwenden diese Anmeldeinformationen nur, wenn der Dateispeicherort nicht in einem externen Speicherort enthalten ist. Weitere Informationen finden Sie unter credential_name.
Temporäre Inline-Anmeldeinformationen.
Definieren des Quellspeicherorts als externer Speicherort und Berechtigungen von
READ FILES
für den externen Speicherort über Unity Catalog.Verwenden sie eine benannte Speicheranmeldeinformationen mit
READ FILES
-Berechtigungen, die die Autorisierung zum Lesen von einem Speicherort über den Unity Catalog bereitstellen.
Sie müssen keine Inline- oder benannten Anmeldeinformationen angeben, wenn der Pfad bereits als externer Speicherort definiert ist, den Sie verwenden können. Weitere Informationen finden Sie unter Erstellen eines externen Speicherorts zum Verbinden des Cloudspeichers mit Azure Databricks.
Hinweis
Wenn der Quelldateipfad ein Stammpfad ist, müssen Sie am Ende des Dateipfads einen Schrägstrich (
/
) hinzufügen, z. Bs3://my-bucket/
.Folgende Optionen für Anmeldeinformation werden akzeptiert:
AZURE_SAS_TOKEN
für ADLS Gen2 und Azure Blob StorageAWS_ACCESS_KEY
,AWS_SECRET_KEY
undAWS_SESSION_TOKEN
für AWS S3
Folgende Verschlüsselungsoptionen werden akzeptiert:
TYPE = 'AWS_SSE_C'
undMASTER_KEY
für AWS S3
Weitere Informationen finden Sie unter Laden von Daten mithilfe von COPY INTO mit temporären Anmeldeinformationen.
SELECT expression_list
Wählt die angegebenen Spalten oder Ausdrücke in den Quelldaten vor dem Kopieren in die Delta-Tabelle aus. Die Ausdrücke können beliebige Ausdrücke sein, die Sie mit
SELECT
-Anweisungen verwenden (einschließlich Fenstervorgänge). Sie können Aggregationsausdrücke nur für globale Aggregate verwenden. Sie können mit dieser Syntax nichtGROUP BY
für Spalten verwenden.FILEFORMAT = data_source
Das Format der zu ladenden Quelldateien. Gültig sind folgende Formate:
CSV
,JSON
,AVRO
,ORC
,PARQUET
,TEXT
,BINARYFILE
.VALIDATE
Gilt für:
Databricks SQL
Databricks Runtime 10.4 LTS und höher
Die Daten, die in eine Tabelle geladen werden sollen, werden überprüft, aber nicht in die Tabelle geschrieben. Diese Validierungen umfassen:
- Ob die Daten analysiert werden können
- Ob das Schema dem der Tabelle entspricht oder ob das Schema weiterentwickelt werden muss
- Ob alle NULL-Zulässigkeits- und Überprüfungs-Einschränkungen erfüllt sind.
Standardmäßig werden alle Daten überprüft, die geladen werden sollen. Sie können eine Anzahl von Zeilen angeben, die mit dem
ROWS
-Schlüsselwort überprüft werden sollen, z. B.VALIDATE 15 ROWS
. DieCOPY INTO
-Anweisung gibt eine Vorschau der Daten aus 50 Zeilen oder weniger zurück, wenn eine kleinere Zahl als 50 mit demROWS
-Schlüsselwort verwendet wird.FILES
Eine Liste der zu ladenden Dateinamen mit einem Limit von 1000 Dateien. Kann nicht mit
PATTERN
angegeben werden.PATTERN
Ein Glob-Muster, das die Dateien identifiziert, die aus dem Quellverzeichnis geladen werden sollen. Kann nicht mit
FILES
angegeben werden.Muster BESCHREIBUNG ?
Führt einen Abgleich für ein einzelnes Zeichen durch *
Entspricht null oder mehr Zeichen [abc]
Entspricht einem einzelnen Zeichen aus dem Zeichensatz {a,b,c}. [a-z]
Entspricht einem einzelnen Zeichen aus dem Zeichenbereich {a... z}. [^a]
Entspricht einem einzelnen Zeichen, das nicht aus dem Zeichensatz oder Bereich {a} stammt. Beachten Sie, dass das Zeichen ^
sofort rechts neben der öffnenden Klammer auftreten muss.{ab,cd}
Entspricht einer Zeichenfolge aus dem Zeichenfolgensatz {ab, cd}. {ab,c{de, fh}}
Entspricht einer Zeichenfolge aus dem Zeichenfolgensatz {ab, cde, cfh}. FORMAT_OPTIONS
Optionen, die an den Apache Spark-Datenquellenleser für das angegebene Format übergeben werden sollen. Weitere Informationen zu den einzelnen Dateiformaten finden Sie unter Formatoptionen.
COPY_OPTIONS
Optionen zum Steuern der Funktionsweise des
COPY INTO
-Befehls.force
: boolescher Wert, Standardwertfalse
. Bei Festlegung auftrue
ist Idempotenz deaktiviert, und Dateien werden unabhängig davon, ob sie zuvor geladen wurden, geladen.mergeSchema
: boolescher Wert, Standardwertfalse
. Bei Festlegung auftrue
kann das Schema den eingehenden Daten entsprechend weiterentwickelt werden.
Gleichzeitiges Aufrufen von COPY INTO
COPY INTO
unterstützt gleichzeitige Aufrufe für dieselbe Tabelle. Solange COPY INTO
gleichzeitig für verschiedene Gruppen von Eingabedateien aufgerufen wird, sollte jeder Aufruf letztendlich erfolgreich sein, andernfalls kommt es zu einem Transaktionskonflikt. COPY INTO
sollte nicht gleichzeitig aufgerufen werden, um die Leistung zu verbessern. Ein einzelner COPY INTO
-Befehl mit mehreren Dateien ist in der Regel leistungsfähiger als das Ausführen gleichzeitiger COPY INTO
-Befehle mit jeweils einer einzelnen Datei. COPY INTO
kann gleichzeitig aufgerufen werden, wenn:
- Mehrere Datenproduzenten haben keine einfache Möglichkeit, sich zu koordinieren und können keinen einzelnen Aufruf ausführen.
- Wenn ein sehr großes Verzeichnis Unterverzeichnis für Unterverzeichnis erfasst werden kann. Bei der Erfassung von Verzeichnissen mit einer sehr großen Anzahl von Dateien empfiehlt Databricks, nach Möglichkeit Auto Loader zu verwenden.
Zugreifen auf Dateimetadaten
Informationen zum Zugreifen auf Metadaten für dateibasierte Datenquellen finden Sie unter der Spalte „Dateimetadaten“.
Formatoptionen
- Generische Optionen
JSON
-OptionenCSV
-OptionenXML
-OptionenPARQUET
-OptionenAVRO
-OptionenBINARYFILE
-OptionenTEXT
-OptionenORC
-Optionen
Generische Optionen
Die folgenden Optionen gelten für alle Dateiformate.
Option |
---|
ignoreCorruptFiles Typ: Boolean Gibt an, ob beschädigte Dateien ignoriert werden sollen. Bei TRUE werden die Spark-Aufträge weiterhin ausgeführt, wenn beschädigte Dateien festgestellt werden, und gelesene Inhalte werden weiterhin zurückgegeben. Beobachtbar wie numSkippedCorruptFiles in deroperationMetrics -Spalte des Delta Lake-Verlaufs. Verfügbar in Databricks Runtime 11.3 LTS und höher.Standardwert: false |
ignoreMissingFiles Typ: Boolean Gibt an, ob fehlende Dateien ignoriert werden sollen. Bei TRUE werden die Spark-Aufträge weiterhin ausgeführt, wenn fehlende Dateien festgestellt werden, und gelesene Inhalte werden weiterhin zurückgegeben. Verfügbar in Databricks Runtime 11.3 LTS und höher. Standardwert: false (true für COPY INTO ) |
modifiedAfter Typ: Timestamp String , z. B. 2021-01-01 00:00:00.000000 UTC+0 Ein optionaler Zeitstempel zum Erfassen von Dateien mit einem Änderungszeitstempel nach dem angegebenen Zeitstempel. Standardwert: None |
modifiedBefore Typ: Timestamp String , z. B. 2021-01-01 00:00:00.000000 UTC+0 Ein optionaler Zeitstempel zum Erfassen von Dateien mit einem Änderungszeitstempel vor dem angegebenen Zeitstempel. Standardwert: None |
pathGlobFilter oder fileNamePattern Typ: String Ein mögliches Globmuster für die Auswahl von Dateien. Entspricht PATTERN in COPY INTO . fileNamePattern kann in read_files verwendet werden.Standardwert: None |
recursiveFileLookup Typ: Boolean Gibt an, ob die Ableitung der Partition während des Schemarückschließens übersprungen werden soll. Dies hat keinen Einfluss darauf, welche Dateien geladen werden. Standardwert: false |
JSON
-Optionen
Option |
---|
allowBackslashEscapingAnyCharacter Typ: Boolean Gibt an, ob umgekehrte Schrägstriche als Escapezeichen für das folgende Zeichen zugelassen werden sollen. Wenn diese Option nicht aktiviert ist, können nur Zeichen mit Escapezeichen versehen werden, die explizit in der JSON-Spezifikation aufgeführt werden. Standardwert: false |
allowComments Typ: Boolean Gibt an, ob die Verwendung von Java-, C- und C++-Kommentaren ( '/' , '*' bzw. '//' ) in analysierten Inhalten zugelassen werden soll oder nicht.Standardwert: false |
allowNonNumericNumbers Typ: Boolean Gibt an, ob die Menge der NaN -Token (Not-a-Number) als zulässige Gleitkommazahlenwerte zugelassen werden soll.Standardwert: true |
allowNumericLeadingZeros Typ: Boolean Gibt an, ob ganze Zahlen mit zusätzlichen (zu ignorierenden) Nullen beginnen sollen (z. B. 000001 ).Standardwert: false |
allowSingleQuotes Typ: Boolean Gibt an, ob die Verwendung von einfachen Anführungszeichen (Apostroph, Zeichen '\' ) als Anführungszeichen für Zeichenfolgen (Namen und Zeichenfolgenwerte) zugelassen werden soll.Standardwert: true |
allowUnquotedControlChars Typ: Boolean Gibt an, ob JSON-Zeichenfolgen Steuerzeichen ohne Escapezeichen (ASCII-Zeichen mit einem Wert kleiner als 32, z. B. Tabstopp- und Zeilenvorschubzeichen) enthalten dürfen. Standardwert: false |
allowUnquotedFieldNames Typ: Boolean Gibt an, ob die Verwendung von Feldnamen ohne Anführungszeichen zugelassen werden soll (die von JavaScript, aber nicht von der JSON-Spezifikation zugelassen werden). Standardwert: false |
badRecordsPath Typ: String Der Pfad zum Speichern von Dateien zum Aufzeichnen der Informationen für fehlerhafte JSON-Datensätze. Standardwert: None |
columnNameOfCorruptRecord Typ: String Die Spalte zum Speichern von Datensätzen, die fehlerhaft formatiert sind und nicht analysiert werden können. Wenn mode für die Analyse auf DROPMALFORMED festgelegt ist, ist diese Spalte leer.Standardwert: _corrupt_record |
dateFormat Typ: String Das Format für die Analyse von Datumszeichenfolgen. Standardwert: yyyy-MM-dd |
dropFieldIfAllNull Typ: Boolean Gibt an, ob Spalten beim Schemarückschluss ignoriert werden sollen, die nur NULL-Werte oder leere Arrays bzw. Strukturen enthalten. Standardwert: false |
encoding oder charset Typ: String Der Name der Codierung der JSON-Dateien. Eine Liste der Optionen finden Sie unter java.nio.charset.Charset . Sie können UTF-16 und UTF-32 nicht verwenden, wenn multiline true ist.Standardwert: UTF-8 |
inferTimestamp Typ: Boolean Gibt an, ob versucht werden soll, Zeitstempelzeichenfolgen als TimestampType abzuleiten. Wenn festgelegt auftrue , der Schemarückschluss kann deutlich länger dauern. Für die Verwendung mit dem Autoloader müssen Sie cloudFiles.inferColumnTypes aktivieren.Standardwert: false |
lineSep Typ: String Eine Zeichenfolge zwischen zwei aufeinander folgenden JSON-Datensätzen. Standardwert: ohne (deckt \r , \r\n und \n ab) |
locale Typ: String Ein java.util.Locale -Bezeichner. Beeinflusst die standardmäßige Analyse von Datumsangaben, Zeitstempeln und Dezimalzahlen im JSON-Code.Standardwert: US |
mode Typ: String Parsermodus für die Verarbeitung fehlerhaft formatierter Datensätze. Einer der folgenden Werte: 'PERMISSIVE' ,'DROPMALFORMED' oder 'FAILFAST' .Standardwert: PERMISSIVE |
multiLine Typ: Boolean Gibt an, ob die JSON-Datensätze mehrere Zeilen umfassen. Standardwert: false |
prefersDecimal Typ: Boolean Versucht, Zeichenfolgen nach Möglichkeit als DecimalType abzuleiten, nicht als float- oder double-Typ. Sie müssen auch den Schemarückschluss verwenden, indem Sie entwederinferSchema aktivieren oder cloudFiles.inferColumnTypes mit dem Autoloader verwenden.Standardwert: false |
primitivesAsString Typ: Boolean Gibt an, ob primitive Typen wie Zahlen und boolesche Werte als StringType abgeleitet werden sollen.Standardwert: false |
readerCaseSensitive Typ: Boolean Diese Option gibt das Verhalten bei Groß- und Kleinschreibung an, wenn rescuedDataColumn aktiviert ist. Bei „True“ werden die Datenspalten wiederhergestellt, deren Namen in Bezug auf Groß- und Kleinschreibung vom Schema abweichen. Andernfalls werden die Daten ohne Beachtung der Groß- und Kleinschreibung gelesen. Verfügbar in Databricks Runtime13.3 und höher. Standardwert: true |
rescuedDataColumn Typ: String Gibt an, ob alle Daten, die aufgrund eines Datentypkonflikts oder Schemakonflikts (einschließlich Spaltenschreibweise) nicht analysiert werden können, in einer separaten Spalte erfasst werden sollen. Diese Spalte ist bei Verwendung des Autoloaders standardmäßig enthalten. Weitere Informationen finden Sie unter Was ist die Spalte „rescued data“ (gerettete Daten)?. Standardwert: None |
singleVariantColumn Typ: String Gibt an, ob das gesamte JSON-Dokument in einer einzelnen Spalte „Variante“ geparst mit der angegebenen Zeichenfolge als Spaltenname erfasst werden soll. Wenn dies deaktiviert ist, werden die JSON-Felder in ihren eigenen Spalten erfasst. Standardwert: None |
timestampFormat Typ: String Das Format zum Analysieren von Zeitstempelzeichenfolgen. Standardwert: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] |
timeZone Typ: String Die java.time.ZoneId , die beim Analysieren von Zeitstempeln und Datumsangaben verwendet werden soll.Standardwert: None |
CSV
-Optionen
Option |
---|
badRecordsPath Typ: String Der Pfad zum Speichern von Dateien zum Aufzeichnen der Informationen für fehlerhafte CSV-Datensätze. Standardwert: None |
charToEscapeQuoteEscaping Typ: Char Das Zeichen, das als Escapezeichen für das Zeichen verwendet wird, das als Escapezeichen für Anführungszeichen verwendet wird, z. B. für den Datensatz [ " a\\", b ] :* Wenn das Escapezeichen für '\' nicht definiert ist, wird der Datensatz nicht analysiert. Der Parser liest die Zeichen [a],[\],["],[,],[ ],[b] und löst einen Fehler aus, da kein schließendes Anführungszeichen gefunden wird.* Wenn das Escapezeichen für '\' als '\' definiert ist, wird der Datensatz mit zwei Werten gelesen: [a\] und [b] .Standardwert: '\0' |
columnNameOfCorruptRecord > [! HINWEIS] >> für Autoloader unterstützt. Wird für COPY INTO nicht unterstützt.Typ: String Die Spalte zum Speichern von Datensätzen, die fehlerhaft formatiert sind und nicht analysiert werden können. Wenn mode für die Analyse auf DROPMALFORMED festgelegt ist, ist diese Spalte leer.Standardwert: _corrupt_record |
comment Typ: Char Definiert das Zeichen, das einen Zeilenkommentar darstellt, wenn es am Anfang einer Textzeile steht. Verwenden Sie '\0' , um das Überspringen von Kommentaren zu deaktivieren.Standardwert: '\u0000' |
dateFormat Typ: String Das Format für die Analyse von Datumszeichenfolgen. Standardwert: yyyy-MM-dd |
emptyValue Typ: String Zeichenfolgendarstellung eines leeren Werts. Standardwert: "" |
encoding oder charset Typ: String Der Name der Codierung der CSV-Dateien. Eine Liste der Optionen finden Sie unter java.nio.charset.Charset . UTF-16 und UTF-32 können nicht verwendet werden, wenn multiline ist true .Standardwert: UTF-8 |
enforceSchema Typ: Boolean Gibt an, ob das angegebene oder abgeleitete Schema zwangsweise auf die CSV-Dateien angewendet werden soll. Wenn die Option aktiviert ist, werden Kopfzeilen von CSV-Dateien ignoriert. Diese Option wird standardmäßig ignoriert, wenn der Autoloader verwendet wird, um Daten zu retten und die Schemaentwicklung zu ermöglichen. Standardwert: true |
escape Typ: Char Das Escapezeichen, das beim Analysieren der Daten verwendet werden soll. Standardwert: '\' |
header Typ: Boolean Gibt an, ob die CSV-Dateien ein Kopfzeile enthalten. Der Autoloader geht bei der Schemaableitung davon aus, dass Dateien Kopfzeilen enthalten. Standardwert: false |
ignoreLeadingWhiteSpace Typ: Boolean Gibt an, ob führende Leerzeichen für einzelne analysierte Werte ignoriert werden sollen. Standardwert: false |
ignoreTrailingWhiteSpace Typ: Boolean Gibt an, ob nachstehende Leerzeichen für einzelne analysierte Werte ignoriert werden sollen. Standardwert: false |
inferSchema Typ: Boolean Gibt an, ob die Datentypen der analysierten CSV-Datensätze abgeleitet werden sollen oder angenommen werden soll, dass alle Spalten den Typ StringType aufweisen. Bei Festlegung auf true ist eine zusätzliche Übergabe der Daten erforderlich. Verwenden Sie für den Autoloader stattdessen cloudFiles.inferColumnTypes .Standardwert: false |
lineSep Typ: String Eine Zeichenfolge zwischen zwei aufeinander folgenden CSV-Datensätzen. Standardwert: ohne (deckt \r , \r\n und \n ab) |
locale Typ: String Ein java.util.Locale -Bezeichner. Beeinflusst die standardmäßige Analyse von Datumsangaben, Zeitstempeln und Dezimalzahlen in der CSV-Datei.Standardwert: US |
maxCharsPerColumn Typ: Int Maximale Anzahl von Zeichen, die von einem zu analysierenden Wert erwartet werden. Kann verwendet werden, um Speicherfehler zu vermeiden. Der Standardwert ist -1 , d. h. unbegrenzt.Standardwert: -1 |
maxColumns Typ: Int Der absolute Höchstwert für die Anzahl der Spalten, die ein Datensatz enthalten kann. Standardwert: 20480 |
mergeSchema Typ: Boolean Gibt an, ob das Schema über mehrere Dateien hinweg abgeleitet und das Schema der einzelnen Dateien zusammengeführt werden soll. Standardmäßig für Autoloader aktiviert, wenn das Schema abgeleitet wird. Standardwert: false |
mode Typ: String Parsermodus für die Verarbeitung fehlerhaft formatierter Datensätze. Einer der folgenden Werte: 'PERMISSIVE' ,'DROPMALFORMED' und 'FAILFAST' .Standardwert: PERMISSIVE |
multiLine Typ: Boolean Gibt an, ob die CSV-Datensätze mehrere Zeilen umfassen. Standardwert: false |
nanValue Typ: String Die Zeichenfolgendarstellung eines NaN-Werts, wenn FloatType - und DoubleType -Spalten verwendet werden.Standardwert: "NaN" |
negativeInf Typ: String Die Zeichenfolgendarstellung von negativ Unendlich, wenn FloatType - und DoubleType -Spalten verwendet werden.Standardwert: "-Inf" |
nullValue Typ: String Zeichenfolgendarstellung eines NULL-Werts. Standardwert: "" |
parserCaseSensitive (veraltet)Typ: Boolean Gibt beim Lesen von Dateien an, ob Spalten, die in der Kopfzeile deklariert sind, unter Berücksichtigung der Groß-/Kleinschreibung am Schema angepasst werden sollen. Diese Option ist für den Autoloader standardmäßig true . Spalten, deren Groß-/Kleinschreibung abweicht, werden in die rescuedDataColumn -Spalte gerettet (sofern aktiviert). Diese Option wurde durch readerCaseSensitive ersetzt und gilt als veraltet.Standardwert: false |
positiveInf Typ: String Die Zeichenfolgendarstellung von positiv Unendlich, wenn FloatType - und DoubleType -Spalten verwendet werden.Standardwert: "Inf" |
preferDate Typ: Boolean Versucht, Zeichenfolgen nach Möglichkeit als Datumsangaben abzuleiten, nicht als Zeitstempel. Sie müssen auch den Schemarückschluss verwenden, indem Sie entweder inferSchema aktivieren odercloudFiles.inferColumnTypes mit dem Autoloader verwenden.Standardwert: true |
quote Typ: Char Das Zeichen, das als Escapezeichen für Werte verwendet wird, bei denen das Feldtrennzeichen Bestandteil des Werts ist. Standardwert: " |
readerCaseSensitive Typ: Boolean Diese Option gibt das Verhalten bei Groß- und Kleinschreibung an, wenn rescuedDataColumn aktiviert ist. Bei „True“ werden die Datenspalten wiederhergestellt, deren Namen in Bezug auf Groß- und Kleinschreibung vom Schema abweichen. Andernfalls werden die Daten ohne Beachtung der Groß- und Kleinschreibung gelesen.Standardwert: true |
rescuedDataColumn Typ: String Gibt an, ob alle Daten, die aufgrund eines Datentypkonflikts oder Schemakonflikts (einschließlich Spaltenschreibweise) nicht analysiert werden können, in einer separaten Spalte erfasst werden sollen. Diese Spalte ist bei Verwendung des Autoloaders standardmäßig enthalten. Weitere Informationen finden Sie unter Was ist die Spalte „rescued data“ (gerettete Daten)?. Standardwert: None |
sep oder delimiter Typ: String Die Trennzeichenfolge zwischen Spalten. Standardwert: "," |
skipRows Typ: Int Die Anzahl der Zeilen vom Anfang der CSV-Datei, die ignoriert werden sollen (einschließlich auskommentierter und leerer Zeilen). Wenn header „True“ ist, ist die Kopfzeile die erste nicht übersprungene und nicht auskommentierte Zeile.Standardwert: 0 |
timestampFormat Typ: String Das Format zum Analysieren von Zeitstempelzeichenfolgen. Standardwert: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] |
timeZone Typ: String Die java.time.ZoneId , die beim Analysieren von Zeitstempeln und Datumsangaben verwendet werden soll.Standardwert: None |
unescapedQuoteHandling Typ: String Die Strategie für die Behandlung von Anführungszeichen ohne Escapezeichen. Zulässige Optionen: * STOP_AT_CLOSING_QUOTE : Wenn in der Eingabe Anführungszeichen ohne Escapezeichen erkannt werden, wird das Anführungszeichen akkumuliert und der Wert als Anführungszeichenwert analysiert, bis ein schließendes Anführungszeichen gefunden wird.* BACK_TO_DELIMITER : Wenn in der Eingabe Anführungszeichen ohne Escapezeichen erkannt werden, wird der Wert als ein Wert ohne Anführungszeichen betrachtet. Der Parser akkumuliert dann alle Zeichen des aktuellen analysierten Werts, bis das von sep definierte Trennzeichen gefunden wird. Wenn im Wert kein Trennzeichen gefunden wird, akkumuliert der Parser weiter Zeichen aus der Eingabe, bis ein Trennzeichen oder Zeilenende gefunden wird.* STOP_AT_DELIMITER : Wenn in der Eingabe Anführungszeichen ohne Escapezeichen erkannt werden, wird der Wert als ein Wert ohne Anführungszeichen betrachtet. Dadurch wird der Parser veranlasst, alle Zeichen zu akkumulieren, bis das durch sep definierte Trennzeichen oder ein Zeilenende in der Eingabe gefunden wird.* SKIP_VALUE : Wenn in der Eingabe Anführungszeichen ohne Escapezeichen gefunden werden, wird der Inhalt, der für den angegebenen Wert geparst wurde, übersprungen (bis das nächste Trennzeichen gefunden wird) und stattdessen wird der in nullValue angegebene Wert erzeugt.* RAISE_ERROR : Wenn in der Eingabe Anführungszeichen ohne Escapezeichen erkannt werden, wird eineTextParsingException ausgelöst.Standardwert: STOP_AT_DELIMITER |
XML
-Optionen
Option | BESCHREIBUNG | Bereich |
---|---|---|
rowTag |
Das Zeilentag der XML-Dateien, die als Zeile behandelt werden sollen. Im XML-Beispiel <books> <book><book>...<books> ist der entsprechende Wert book . Diese Option muss angegeben werden. |
Lesen |
samplingRatio |
Definiert einen Bruchteil der Zeilen, die für den Schemarückschluss verwendet werden. Diese Option wird von integrierten XML-Funktionen ignoriert. Standardwert: 1.0 . |
Lesen |
excludeAttribute |
Gibt an, ob Attribute in Elementen ausgeschlossen werden sollen. Standardwert: false . |
Lesen |
mode |
Modus für den Umgang mit beschädigten Datensätzen beim Parsen.PERMISSIVE : Fügt bei beschädigten Datensätzen die nicht wohlgeformte Zeichenfolge in ein durch columnNameOfCorruptRecord konfiguriertes Feld ein und legt nicht wohlgeformte Felder auf null fest. Um beschädigte Datensätze beizubehalten, können Sie in einem benutzerdefinierten Schema ein Feld des Typs string mit dem Namen columnNameOfCorruptRecord festlegen. Wenn ein Schema nicht über das Feld verfügt, werden beschädigte Datensätze beim Parsen gelöscht. Beim Rückschließen eines Schemas fügt der Parser in einem Ausgabeschema ein columnNameOfCorruptRecord -Feld implizit hinzu.DROPMALFORMED : Ignoriert beschädigte Datensätze. Dieser Modus wird für integrierte XML-Funktionen nicht unterstützt.FAILFAST : Löst eine Ausnahme aus, wenn der Parser beschädigte Datensätze erkennt. |
Lesen |
inferSchema |
Versucht bei true , einen geeigneten Typ für jede resultierende DataFrame-Spalte abzuleiten. Bei false weisen alle resultierenden Spalten den Typ string auf. Standardwert:true . Diese Option wird von integrierten XML-Funktionen ignoriert. |
Lesen |
columnNameOfCorruptRecord |
Ermöglicht das Umbenennen des neuen Felds, das eine nicht wohlgeformte Zeichenfolge enthält, die durch den PERMISSIVE -Modus erzeugt wurde. Standardwert: spark.sql.columnNameOfCorruptRecord . |
Lesen |
attributePrefix |
Das Präfix für Attribute, um Attribute von Elementen zu unterscheiden. Dies wird das Präfix für Feldnamen sein. Der Standardwert ist _ . Kann zum Lesen von XML-Code leer sein, jedoch nicht zum Schreiben. |
Lesen und Schreiben |
valueTag |
Das Tag, das für die Zeichendaten in Elementen verwendet wird, die ebenfalls Attribute oder untergeordnete Elemente enthalten. Benutzer können das valueTag -Feld im Schema angeben. Andernfalls wird es beim Schemarückschluss automatisch hinzugefügt, wenn Zeichendaten in Elementen mit anderen Elementen oder Attributen vorhanden sind. Standard: _VALUE |
Lesen und Schreiben |
encoding |
Decodieren Sie zum Lesen die XML-Dateien durch den angegebenen Codierungstyp. Gibt zum Schreiben die Codierung (Zeichensatz) gespeicherter XML-Dateien an. Diese Option wird von integrierten XML-Funktionen ignoriert. Standardwert: UTF-8 . |
Lesen und Schreiben |
ignoreSurroundingSpaces |
Definiert, ob umgebende Leerzeichen von zu lesenden Werten übersprungen werden sollen. Standardwert: true . Zeichendaten, die ausschließlich aus Leerzeichen bestehen, werden ignoriert. |
Lesen |
rowValidationXSDPath |
Pfad zu einer optionalen XSD-Datei, die verwendet wird, um den XML-Code für jede Zeile einzeln zu überprüfen. Zeilen, die nicht validiert werden können, werden wie oben beschrieben als Parse-Fehler behandelt. Die XSD wirkt sich nicht anderweitig auf das bereitgestellte oder abgeleitete Schema aus. | Lesen |
ignoreNamespace |
Bei true werden Namespacepräfixe bei XML-Elementen und -Attributen ignoriert. Die Tags <abc:author> und <def:author> werden beispielsweise so behandelt werden, als wären beide lediglich <author> . Namespaces können für das rowTag -Element nicht ignoriert werden. Das ist lediglich für sein untergeordnetes Element möglich, das gelesen werden soll. Das XML-Parsing ist selbst bei false nicht namespacefähig. Standardwert: false . |
Lesen |
timestampFormat |
Benutzerdefinierte Zeichenfolge für das Zeitstempelformat, die dem Format des Datetime-Musters folgt. Dies gilt für Typ timestamp . Standardwert: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] . |
Lesen und Schreiben |
timestampNTZFormat |
Benutzerdefinierte Zeichenfolge für das Zeitstempelformat ohne Zeitzone, die dem Format des Datetime-Musters folgt. Dies gilt für den TimestampNTZType-Typ. Standardwert:yyyy-MM-dd'T'HH:mm:ss[.SSS] |
Lesen und Schreiben |
dateFormat |
Benutzerdefinierte Zeichenfolge für das Datumsformat, die dem Format des Datetime-Musters folgt. Dies gilt für den date-Typ. Standardwert: yyyy-MM-dd . |
Lesen und Schreiben |
locale |
Legt ein Gebietsschema als Sprachtag im IETF BCP 47-Format fest. Beispiel: locale wird beim Parsen von Daten und Zeitstempeln verwendet. Standardwert: en-US . |
Lesen |
rootTag |
Stammtag der XML-Dateien. Beispiel: Der entsprechende Wert in <books> <book><book>...</books> lautet books . Sie können grundlegende Attribute durch das Angeben eines Werts wie books foo="bar" einschließen. Standardwert: ROWS . |
Schreiben |
declaration |
Inhalt der XML-Deklaration, die am Anfang jeder XML-Ausgabedatei vor rootTag geschrieben werden soll. Beispiel: Durch einen Wert von foo wird <?xml foo?> geschrieben. Legen Sie diesen Wert auf eine leere Zeichenfolge fest, um diesen Vorgang zu unterdrücken. Standard: version="1.0" encoding="UTF-8" standalone="yes" . |
Schreiben |
arrayElementName |
Name des XML-Elements, das beim Schreiben jedes Element einer Spalte, die Arraywerte enthält, umschließt. Standardwert: item . |
Schreiben |
nullValue |
Legt die Darstellung der Zeichenfolge eines NULL-Werts fest. Standard: Zeichenfolge null . Wenn dies der Fall ist null , schreibt der Parser keine Attribute und Elemente für Felder. |
Lesen und Schreiben |
compression |
Komprimierungscode, der beim Speichern als Datei verwendet werden soll. Das kann einer der bekannten verkürzten Namen ohne Beachtung von Groß-/Kleinbuchstaben sein (none , bzip2 , gzip , lz4 , snappy unddeflate ). Diese Option wird von integrierten XML-Funktionen ignoriert. Standardwert: none . |
Schreiben |
validateName |
Bei TRUE wird ein Fehler bei der Validierung von XML-Elementnamen ausgelöst. Beispiel: Namen von SQL-Feldern können Leerzeichen enthalten, XML-Elementnamen jedoch nicht. Standardwert:true . |
Schreiben |
readerCaseSensitive |
Gibt das Verhalten bei der Berücksichtigung der Groß-/Kleinschreibung an, wenn rescuedDataColumn aktiviert ist. Bei „True“ werden die Datenspalten wiederhergestellt, deren Namen in Bezug auf Groß- und Kleinschreibung vom Schema abweichen. Andernfalls werden die Daten ohne Beachtung der Groß- und Kleinschreibung gelesen. Standardwert: true . |
Lesen |
rescuedDataColumn |
Gibt an, ob alle Daten, die aufgrund eines Datentypkonflikts oder Schemakonflikts (einschließlich Spaltenschreibweise) nicht analysiert werden können, in einer separaten Spalte erfasst werden sollen. Diese Spalte ist bei Verwendung des Autoloaders standardmäßig enthalten. Ausführlichere Informationen finden Sie unter Was ist die Spalte „rescued data“ (gerettete Daten)?. Standard: Keine. | Lesen |
PARQUET
-Optionen
Option |
---|
datetimeRebaseMode Typ: String Steuert, ob DATE- und TIMESTAMP-Werte auf dem gregorianischen Kalender und dem proleptischen gregorianischen Kalender basieren sollen. Zulässige Werte: EXCEPTION , LEGACY undCORRECTED .Standardwert: LEGACY |
int96RebaseMode Typ: String Steuert, ob INT96-Zeitstempelwerte auf dem gregorianischen Kalender und dem proleptischen gregorianischen Kalender basieren sollen. Zulässige Werte: EXCEPTION , LEGACY undCORRECTED .Standardwert: LEGACY |
mergeSchema Typ: Boolean Gibt an, ob das Schema über mehrere Dateien hinweg abgeleitet und das Schema der einzelnen Dateien zusammengeführt werden soll. Standardwert: false |
readerCaseSensitive Typ: Boolean Diese Option gibt das Verhalten bei Groß- und Kleinschreibung an, wenn rescuedDataColumn aktiviert ist. Bei „True“ werden die Datenspalten wiederhergestellt, deren Namen in Bezug auf Groß- und Kleinschreibung vom Schema abweichen. Andernfalls werden die Daten ohne Beachtung der Groß- und Kleinschreibung gelesen.Standardwert: true |
rescuedDataColumn Typ: String Gibt an, ob alle Daten, die aufgrund eines Datentypkonflikts oder Schemakonflikts (einschließlich Spaltenschreibweise) nicht analysiert werden können, in einer separaten Spalte erfasst werden sollen. Diese Spalte ist bei Verwendung des Autoloaders standardmäßig enthalten. Weitere Informationen finden Sie unter Was ist die Spalte „rescued data“ (gerettete Daten)?. Standardwert: None |
AVRO
-Optionen
Option |
---|
avroSchema Typ: String Optionales Schema, das von einem Benutzer im Avro-Format bereitgestellt wird. Beim Lesen von Avro kann diese Option auf ein weiterentwickeltes Schema festgelegt werden, das kompatibel mit dem tatsächlichen Avro-Schema ist, aber nicht damit übereinstimmt. Das Deserialisierungsschema ist mit dem weiterentwickelten Schema konsistent. Wenn Sie beispielsweise ein weiterentwickeltes Schema festlegen, das eine zusätzliche Spalte mit einem Standardwert enthält, enthält das Leseergebnis ebenfalls die neue Spalte. Standardwert: None |
datetimeRebaseMode Typ: String Steuert, ob DATE- und TIMESTAMP-Werte auf dem gregorianischen Kalender und dem proleptischen gregorianischen Kalender basieren sollen. Zulässige Werte: EXCEPTION , LEGACY undCORRECTED .Standardwert: LEGACY |
mergeSchema Typ: Boolean Gibt an, ob das Schema über mehrere Dateien hinweg abgeleitet und das Schema der einzelnen Dateien zusammengeführt werden soll. mergeSchema für Avro bewirkt keine Lockerung von Datentypen.Standardwert: false |
readerCaseSensitive Typ: Boolean Diese Option gibt das Verhalten bei Groß- und Kleinschreibung an, wenn rescuedDataColumn aktiviert ist. Bei „True“ werden die Datenspalten wiederhergestellt, deren Namen in Bezug auf Groß- und Kleinschreibung vom Schema abweichen. Andernfalls werden die Daten ohne Beachtung der Groß- und Kleinschreibung gelesen.Standardwert: true |
rescuedDataColumn Typ: String Gibt an, ob alle Daten, die aufgrund eines Datentypkonflikts oder Schemakonflikts (einschließlich Spaltenschreibweise) nicht analysiert werden können, in einer separaten Spalte erfasst werden sollen. Diese Spalte ist bei Verwendung des Autoloaders standardmäßig enthalten. Weitere Informationen finden Sie unter Was ist die Spalte „rescued data“ (gerettete Daten)?. Standardwert: None |
BINARYFILE
-Optionen
Für Binärdateien gibt es keine zusätzlichen Konfigurationsoptionen.
TEXT
-Optionen
Option |
---|
encoding Typ: String Der Name der Codierung der TEXT-Dateien. Eine Liste der Optionen finden Sie unter java.nio.charset.Charset .Standardwert: UTF-8 |
lineSep Typ: String Eine Zeichenfolge zwischen zwei aufeinander folgenden TEXT-Datensätzen. Standardwert: ohne (deckt \r , \r\n und \n ab) |
wholeText Typ: Boolean Gibt an, ob eine Datei als einzelner Datensatz gelesen werden soll. Standardwert: false |
ORC
-Optionen
Option |
---|
mergeSchema Typ: Boolean Gibt an, ob das Schema über mehrere Dateien hinweg abgeleitet und das Schema der einzelnen Dateien zusammengeführt werden soll. Standardwert: false |