COPY INTO

Dotyczy:zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime

Ładuje dane z lokalizacji pliku do tabeli delty. Jest to operacja ponawiania i idempotentna — pliki w lokalizacji źródłowej, które zostały już załadowane, są pomijane. Przykłady można znaleźć w temacie Common data loading patterns using COPY INTO (Typowe wzorce ładowania danych przy użyciu funkcji COPY INTO).

Składnia

COPY INTO target_table
  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) ] ) ]

Parametry

  • target_table

    Identyfikuje istniejącą tabelę delty. Target_table nie może zawierać specyfikacji czasowej.

    Jeśli nazwa tabeli jest podana w postaci lokalizacji, takiej jak: delta.`/path/to/table` , Wykaz aparatu Unity może zarządzać dostępem do lokalizacji, do których są zapisywane. Możesz zapisać w lokalizacji zewnętrznej, wykonując następujące czynności:

    • Definiowanie lokalizacji jako lokalizacji zewnętrznej i posiadanie WRITE FILES uprawnień do tej lokalizacji zewnętrznej.
    • Posiadanie WRITE FILES uprawnień do nazwanego poświadczenia magazynu, które zapewniają autoryzację do zapisu w lokalizacji przy użyciu: COPY INTO delta.`/some/location` WITH (CREDENTIAL <named-credential>)

    Aby uzyskać więcej informacji, zobacz Połączenie do magazynu obiektów w chmurze przy użyciu wykazu aparatu Unity.

  • source

    Lokalizacja pliku do załadowania danych. Pliki w tej lokalizacji muszą mieć format określony w pliku FILEFORMAT. Lokalizacja jest udostępniana w postaci identyfikatora URI.

    Dostęp do lokalizacji źródłowej można zapewnić za pośrednictwem:

    • credential_name

      Opcjonalna nazwa poświadczenia używanego do uzyskiwania dostępu do lokalizacji magazynu lub zapisu w tej lokalizacji. To poświadczenie jest używane tylko wtedy, gdy lokalizacja pliku nie jest uwzględniona w lokalizacji zewnętrznej. Zobacz credential_name.

    • Wbudowane poświadczenia tymczasowe.

    • Definiowanie lokalizacji źródłowej jako lokalizacji zewnętrznej i posiadanie READ FILES uprawnień do lokalizacji zewnętrznej za pośrednictwem wykazu aparatu Unity.

    • Używanie nazwanego poświadczenia magazynu z uprawnieniami READ FILES , które zapewniają autoryzację do odczytu z lokalizacji za pośrednictwem wykazu aparatu Unity.

    Nie musisz podawać poświadczeń wbudowanych ani nazwanych, jeśli ścieżka jest już zdefiniowana jako lokalizacja zewnętrzna, której masz uprawnienia do użycia. Aby uzyskać więcej informacji, zobacz Tworzenie lokalizacji zewnętrznej w celu połączenia magazynu w chmurze z usługą Azure Databricks .

    Uwaga

    Jeśli ścieżka pliku źródłowego jest ścieżką główną, dodaj ukośnik (/) na końcu ścieżki pliku, na przykład s3://my-bucket/.

    Zaakceptowane opcje poświadczeń to:

    • AZURE_SAS_TOKEN dla usług ADLS Gen2 i Azure Blob Storage
    • AWS_ACCESS_KEY, AWS_SECRET_KEYi AWS_SESSION_TOKEN dla platformy AWS S3

    Zaakceptowane opcje szyfrowania to:

    • TYPE = 'AWS_SSE_C'i MASTER_KEY dla platformy AWS S3

Zobacz Ładowanie danych przy użyciu funkcji COPY INTO z poświadczeniami tymczasowymi.

  • SELECT expression_list

    Wybiera określone kolumny lub wyrażenia z danych źródłowych przed skopiowaniem do tabeli delty. Wyrażenia mogą być dowolnymi wyrażeniami używanymi z instrukcjami, w tym operacjami SELECT okien. Wyrażenia agregacji można używać tylko w przypadku agregacji globalnych — nie można używać GROUP BY kolumn z tą składnią.

  • FILEFORMAT = data_source

    Format plików źródłowych do załadowania. Jeden z CSV, , AVROJSON, ORC, PARQUET, , TEXT. BINARYFILE

  • VALIDATE

    Dotyczy:zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime 10.4 LTS i nowsze

    Dane, które mają zostać załadowane do tabeli, są weryfikowane, ale nie są zapisywane w tabeli. Te walidacje obejmują:

    • Czy dane mogą być analizowane.
    • Określa, czy schemat jest zgodny z tabelą, czy też schemat musi zostać rozwinięty.
    • Czy są spełnione wszystkie ograniczenia dotyczące wartości null i sprawdzania.

    Wartością domyślną jest zweryfikowanie wszystkich danych, które mają zostać załadowane. Możesz podać liczbę wierszy do zweryfikowania za pomocą słowa kluczowego ROWS , takiego jak VALIDATE 15 ROWS. Instrukcja COPY INTO zwraca podgląd danych z 50 wierszy lub mniej, gdy jest używana liczba mniejsza niż 50 z ROWS słowem kluczowym).

  • FILES

    Lista nazw plików do załadowania z limitem 1000 plików. Nie można określić za pomocą polecenia PATTERN.

  • PATTERN

    Wzorzec glob, który identyfikuje pliki do załadowania z katalogu źródłowego. Nie można określić za pomocą polecenia FILES.

    Wzorzec opis
    ? Pasuje do dowolnego pojedynczego znaku
    * Dopasuje zero lub więcej znaków
    [abc] Dopasuje pojedynczy znak z zestawu znaków {a,b,c}.
    [a-z] Dopasuje pojedynczy znak z zakresu znaków {a... z}.
    [^a] Dopasuje pojedynczy znak, który nie pochodzi z zestawu znaków lub zakresu {a}. Należy pamiętać, że ^ znak musi występować natychmiast po prawej stronie nawiasu otwierającego.
    {ab,cd} Dopasuje ciąg z zestawu ciągów {ab, cd}.
    {ab,c{de, fh}} Dopasuje ciąg z zestawu ciągów {ab, cde, cfh}.
  • FORMAT_OPTIONS

    Opcje, które mają zostać przekazane do czytnika źródła danych platformy Apache Spark dla określonego formatu. Zobacz Opcje formatowania dla każdego formatu pliku.

  • COPY_OPTIONS

    Opcje sterowania operacją COPY INTO polecenia.

    • force: wartość logiczna, domyślna false. Jeśli ustawiono wartość true, idempotencyjność jest wyłączona, a pliki są ładowane niezależnie od tego, czy zostały załadowane wcześniej.
    • mergeSchema: wartość logiczna, domyślna false. Jeśli ustawiono truewartość , schemat można ewoluować zgodnie z danymi przychodzącymi.

Równoczesne wywoływanie COPY INTO

COPY INTO obsługuje współbieżne wywołania względem tej samej tabeli. Tak długo, jak COPY INTO jest wywoływany współbieżnie w różnych zestawach plików wejściowych, każde wywołanie powinno ostatecznie zakończyć się powodzeniem, w przeciwnym razie występuje konflikt transakcji. COPY INTO nie powinny być wywoływane współbieżnie w celu zwiększenia wydajności; Pojedyncze COPY INTO polecenie z wieloma plikami zwykle działa lepiej niż uruchamianie współbieżnych COPY INTO poleceń z jednym plikiem. COPY INTO można wywoływać współbieżnie, gdy:

  • Wielu producentów danych nie ma łatwego sposobu koordynowania i nie może utworzyć pojedynczego wywołania.
  • W przypadku bardzo dużego katalogu można pozyskać podkatalog według podkatalogu. Podczas pozyskiwania katalogów z bardzo dużą liczbą plików usługa Databricks zaleca korzystanie z modułu automatycznego ładowania , jeśli jest to możliwe.

Uzyskiwanie dostępu do metadanych pliku

Aby dowiedzieć się, jak uzyskać dostęp do metadanych dla źródeł danych opartych na plikach, zobacz Kolumna metadanych pliku.

Opcje formatowania

Opcje ogólne

Poniższe opcje mają zastosowanie do wszystkich formatów plików.

Opcja
ignoreCorruptFiles

Typ: Boolean

Czy ignorować uszkodzone pliki. Jeśli ma wartość true, zadania platformy Spark będą nadal działać po napotkaniu uszkodzonych plików, a zawartość, która została odczytowana, będzie nadal zwracana. Obserwowalny, jak numSkippedCorruptFiles w
operationMetrics kolumna historii usługi Delta Lake. Dostępne w środowisku Databricks Runtime 11.3 LTS i nowszym.

Wartość domyślna: false
ignoreMissingFiles

Typ: Boolean

Czy ignorować brakujące pliki. Jeśli to prawda, zadania platformy Spark będą nadal działać po napotkaniu brakujących plików, a zawartość, która została odczytowana, będzie nadal zwracana. Dostępne w środowisku Databricks Runtime 11.3 LTS i nowszym.

Wartość domyślna: false (true dla COPY INTO)
modifiedAfter

Typ: Timestamp String, na przykład 2021-01-01 00:00:00.000000 UTC+0

Opcjonalny znacznik czasu pozyskiwania plików, które mają sygnaturę czasową modyfikacji po podanym znaczniku czasu.

Wartość domyślna: Brak
modifiedBefore

Typ: Timestamp String, na przykład 2021-01-01 00:00:00.000000 UTC+0

Opcjonalny znacznik czasu pozyskiwania plików, które mają sygnaturę czasową modyfikacji przed podanym znacznikiem czasu.

Wartość domyślna: Brak
pathGlobFilter lub fileNamePattern

Typ: String

Potencjalny wzorzec globu umożliwiający wybór plików. Odpowiednik
PATTERN w pliku COPY INTO. fileNamePattern można użyć w pliku read_files.

Wartość domyślna: Brak
recursiveFileLookup

Typ: Boolean

Czy pominąć wnioskowanie partycji podczas wnioskowania schematu. Nie ma to wpływu na pliki, które są ładowane.

Wartość domyślna: false

JSON Opcje

Opcja
allowBackslashEscapingAnyCharacter

Typ: Boolean

Czy zezwolić na ukośniki odwrotne, aby uniknąć dowolnego znaku, który go zakończy. Jeśli nie jest włączona, tylko znaki, które są jawnie wymienione przez specyfikację JSON, mogą zostać uniknione.

Wartość domyślna: false
allowComments

Typ: Boolean

Czy zezwalać na używanie komentarzy w stylu Java, C i C++ ('/', '*', i '//' odmian) w analizowanej zawartości, czy nie.

Wartość domyślna: false
allowNonNumericNumbers

Typ: Boolean

Określa, czy zezwalać na zestaw tokenów innych niż liczba (NaN) jako wartości liczb zmiennoprzecinkowych prawnych.

Wartość domyślna: true
allowNumericLeadingZeros

Typ: Boolean

Czy zezwalać na uruchamianie liczb całkowitych z dodatkowymi (ignorowanymi) zerami (na przykład 000001).

Wartość domyślna: false
allowSingleQuotes

Typ: Boolean

Czy zezwalać na używanie pojedynczych cudzysłowów (apostrof, znak '\') do cytowania ciągów (nazw i wartości ciągu).

Wartość domyślna: true
allowUnquotedControlChars

Typ: Boolean

Czy zezwolić ciągom JSON na zawieranie znaków kontrolki niewyobrażanych (znaki ASCII o wartości mniejszej niż 32, w tym znaki tabulatora i kanału informacyjnego wiersza), czy też nie.

Wartość domyślna: false
allowUnquotedFieldNames

Typ: Boolean

Czy zezwalać na używanie niekwotowanych nazw pól (które są dozwolone przez język JavaScript, ale nie przez specyfikację JSON).

Wartość domyślna: false
badRecordsPath

Typ: String

Ścieżka do przechowywania plików do rejestrowania informacji o nieprawidłowych rekordach JSON.

Wartość domyślna: Brak
columnNameOfCorruptRecord

Typ: String

Kolumna do przechowywania rekordów, które są źle sformułowane i nie można ich przeanalizować. mode Jeśli dla analizowania ustawiono wartość DROPMALFORMED, ta kolumna będzie pusta.

Wartość domyślna: _corrupt_record
dateFormat

Typ: String

Format analizowania ciągów dat.

Wartość domyślna: yyyy-MM-dd
dropFieldIfAllNull

Typ: Boolean

Czy ignorować kolumny wszystkich wartości null, czy puste tablice i struktury podczas wnioskowania schematu.

Wartość domyślna: false
encoding lub charset

Typ: String

Nazwa kodowania plików JSON. Zobacz java.nio.charset.Charset listę opcji. Nie można użyć polecenia UTF-16 i UTF-32 gdy multiline ma wartość true.

Wartość domyślna: UTF-8
inferTimestamp

Typ: Boolean

Czy spróbować wywnioskować ciągi znacznika czasu jako TimestampType. Gdy jest ustawiona wartość
truewnioskowanie schematu może trwać znacznie dłużej. Należy włączyć cloudFiles.inferColumnTypes używanie z modułem automatycznego ładowania.

Wartość domyślna: false
lineSep

Typ: String

Ciąg między dwoma kolejnymi rekordami JSON.

Wartość domyślna: Brak, który obejmuje \rwartości , \r\ni \n
locale

Typ: String

Identyfikator java.util.Locale . Wpływa na domyślną datę, znacznik czasu i analizowanie dziesiętne w formacie JSON.

Wartość domyślna: US
mode

Typ: String

Tryb analizatora wokół obsługi nieprawidłowo sformułowanych rekordów. 'PERMISSIVE'Jeden z ,
'DROPMALFORMED'lub 'FAILFAST'.

Wartość domyślna: PERMISSIVE
multiLine

Typ: Boolean

Określa, czy rekordy JSON obejmują wiele wierszy.

Wartość domyślna: false
prefersDecimal

Typ: Boolean

Próbuje wywnioskować ciągi jako DecimalType zamiast typu zmiennoprzecinkowego lub podwójnego, jeśli jest to możliwe. Należy również użyć wnioskowania schematu, albo przez włączenie
inferSchema lub za pomocą cloudFiles.inferColumnTypes modułu automatycznego ładowania.

Wartość domyślna: false
primitivesAsString

Typ: Boolean

Czy wywnioskować typy pierwotne, takie jak liczby i wartości logiczne jako StringType.

Wartość domyślna: false
readerCaseSensitive

Typ: Boolean

Określa zachowanie poufności wielkości liter po rescuedDataColumn włączeniu. Jeśli to prawda, należy uratować kolumny danych, których nazwy różnią się wielkością liter od schematu; w przeciwnym razie odczytaj dane w sposób niewrażliwy na wielkość liter. Dostępne w środowisku Databricks Runtime
13.3 i nowsze.

Wartość domyślna: true
rescuedDataColumn

Typ: String

Czy zebrać wszystkie dane, których nie można przeanalizować z powodu niezgodności typu danych lub niezgodności schematu (w tym wielkości liter kolumn) do oddzielnej kolumny. Ta kolumna jest domyślnie dołączana podczas korzystania z modułu automatycznego ładowania. Aby uzyskać więcej informacji, zobacz Co to jest uratowana kolumna danych?.

Wartość domyślna: Brak
timestampFormat

Typ: String

Format analizowania ciągów znacznika czasu.

Wartość domyślna: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]
timeZone

Typ: String

Element java.time.ZoneId do użycia podczas analizowania sygnatur czasowych i dat.

Wartość domyślna: Brak

CSV Opcje

Opcja
badRecordsPath

Typ: String

Ścieżka do przechowywania plików do rejestrowania informacji o nieprawidłowych rekordach CSV.

Wartość domyślna: Brak
charToEscapeQuoteEscaping

Typ: Char

Znak używany do ucieczki znaku używanego do ucieczki cudzysłowów. Na przykład dla następującego rekordu: : [ " a\\", b ]

* Jeśli znak ucieczki '\' jest niezdefiniowany, rekord nie zostanie przeanalizowany. Analizator odczytuje znaki: [a],[\],["],[,],[ ],[b] i zgłasza błąd, ponieważ nie może znaleźć cudzysłowu zamykającego.
* Jeśli znak ucieczki '\' jest zdefiniowany jako '\', rekord zostanie odczytany z 2 wartościami: [a\] i [b].

Wartość domyślna: '\0'
columnNameOfCorruptRecord

> [! UWAGA] >> Obsługiwane w przypadku automatycznego modułu ładującego. Nieobsługiwane dla programu COPY INTO.

Typ: String

Kolumna do przechowywania rekordów, które są źle sformułowane i nie można ich przeanalizować. mode Jeśli dla analizowania ustawiono wartość DROPMALFORMED, ta kolumna będzie pusta.

Wartość domyślna: _corrupt_record
comment

Typ: Char

Definiuje znak reprezentujący komentarz wiersza znaleziony na początku wiersza tekstu. Użyj polecenia '\0' , aby wyłączyć pomijanie komentarza.

Wartość domyślna: '\u0000'
dateFormat

Typ: String

Format analizowania ciągów dat.

Wartość domyślna: yyyy-MM-dd
emptyValue

Typ: String

Reprezentacja ciągu pustej wartości.

Wartość domyślna: ""
encoding lub charset

Typ: String

Nazwa kodowania plików CSV. Zobacz java.nio.charset.Charset listę opcji. UTF-16 i UTF-32 nie można go użyć, gdy multiline ma wartość true.

Wartość domyślna: UTF-8
enforceSchema

Typ: Boolean

Czy wymuszać stosowanie określonego lub wnioskowane schematu do plików CSV. Jeśli opcja jest włączona, nagłówki plików CSV są ignorowane. Ta opcja jest domyślnie ignorowana podczas używania automatycznego modułu ładującego do ratowania danych i zezwalania na ewolucję schematu.

Wartość domyślna: true
escape

Typ: Char

Znak ucieczki do użycia podczas analizowania danych.

Wartość domyślna: '\'
header

Typ: Boolean

Określa, czy pliki CSV zawierają nagłówek. Automatyczne moduł ładujący zakłada, że pliki mają nagłówki podczas wnioskowania schematu.

Wartość domyślna: false
ignoreLeadingWhiteSpace

Typ: Boolean

Czy ignorować wiodące odstępy dla każdej przeanalizowanej wartości.

Wartość domyślna: false
ignoreTrailingWhiteSpace

Typ: Boolean

Czy ignorować końcowe odstępy dla każdej analizowanej wartości.

Wartość domyślna: false
inferSchema

Typ: Boolean

Czy wywnioskować typy danych analizowanych rekordów CSV, czy przyjąć, że wszystkie kolumny mają wartość StringType. Wymaga dodatkowego przekazania danych, jeśli ustawiono wartość true. W przypadku automatycznego modułu ładującego użyj zamiast tego.cloudFiles.inferColumnTypes

Wartość domyślna: false
lineSep

Typ: String

Ciąg między dwoma kolejnymi rekordami CSV.

Wartość domyślna: Brak, który obejmuje \rwartości , \r\ni \n
locale

Typ: String

Identyfikator java.util.Locale . Wpływa na domyślną datę, znacznik czasu i analizowanie dziesiętne w pliku CSV.

Wartość domyślna: US
maxCharsPerColumn

Typ: Int

Maksymalna liczba znaków oczekiwana od wartości do przeanalizowania. Może służyć do unikania błędów pamięci. Wartość domyślna to -1, co oznacza nieograniczoną liczbę.

Wartość domyślna: -1
maxColumns

Typ: Int

Stały limit liczby kolumn, które może mieć rekord.

Wartość domyślna: 20480
mergeSchema

Typ: Boolean

Czy wywnioskować schemat między wieloma plikami i scalić schemat każdego pliku. Domyślnie włączono funkcję automatycznego ładowania podczas wnioskowania schematu.

Wartość domyślna: false
mode

Typ: String

Tryb analizatora wokół obsługi nieprawidłowo sformułowanych rekordów. 'PERMISSIVE'Jeden z ,
'DROPMALFORMED', i 'FAILFAST'.

Wartość domyślna: PERMISSIVE
multiLine

Typ: Boolean

Określa, czy rekordy CSV obejmują wiele wierszy.

Wartość domyślna: false
nanValue

Typ: String

Reprezentacja ciągu wartości innej niż liczba podczas analizowania FloatType i DoubleType kolumn.

Wartość domyślna: "NaN"
negativeInf

Typ: String

Reprezentacja ciągu nieskończoności ujemnej podczas analizowania FloatType lub DoubleType kolumn.

Wartość domyślna: "-Inf"
nullValue

Typ: String

Reprezentacja ciągu wartości null.

Wartość domyślna: ""
parserCaseSensitive (przestarzałe)

Typ: Boolean

Podczas odczytywania plików należy wyrównywać kolumny zadeklarowane w nagłówku z uwzględnieniem wielkości liter schematu. true Jest to domyślnie w przypadku automatycznego modułu ładującego. Kolumny, które różnią się wielkością liter, zostaną uratowane w przypadku włączenia rescuedDataColumn . Ta opcja została uznana za przestarzałą na rzecz .readerCaseSensitive

Wartość domyślna: false
positiveInf

Typ: String

Reprezentacja ciągu nieskończoności dodatniej podczas analizowania FloatType lub DoubleType kolumn.

Wartość domyślna: "Inf"
preferDate

Typ: Boolean

Próbuje wywnioskować ciągi jako daty zamiast znacznika czasu, gdy jest to możliwe. Należy również użyć wnioskowania schematu, włączając inferSchema lub używając polecenia
cloudFiles.inferColumnTypes z automatycznym modułem ładujący.

Wartość domyślna: true
quote

Typ: Char

Znak używany do ucieczki wartości, w których ogranicznik pola jest częścią wartości.

Wartość domyślna: "
readerCaseSensitive

Typ: Boolean

Określa zachowanie poufności wielkości liter po rescuedDataColumn włączeniu. Jeśli to prawda, należy uratować kolumny danych, których nazwy różnią się wielkością liter od schematu; w przeciwnym razie odczytaj dane w sposób niewrażliwy na wielkość liter.

Wartość domyślna: true
rescuedDataColumn

Typ: String

Czy zebrać wszystkie dane, których nie można przeanalizować z powodu niezgodności typu danych i niezgodności schematu (w tym wielkości liter kolumn) do oddzielnej kolumny. Ta kolumna jest domyślnie dołączana podczas korzystania z modułu automatycznego ładowania. Aby uzyskać więcej informacji, zobacz Co to jest uratowana kolumna danych?.

Wartość domyślna: Brak
sep lub delimiter

Typ: String

Ciąg separatora między kolumnami.

Wartość domyślna: ","
skipRows

Typ: Int

Liczba wierszy z początku pliku CSV, które powinny być ignorowane (w tym z komentarzami i pustymi wierszami). Jeśli header ma wartość true, nagłówek będzie pierwszym niezamapowanym i bez komentarza wierszem.

Wartość domyślna: 0
timestampFormat

Typ: String

Format analizowania ciągów znacznika czasu.

Wartość domyślna: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]
timeZone

Typ: String

Element java.time.ZoneId do użycia podczas analizowania sygnatur czasowych i dat.

Wartość domyślna: Brak
unescapedQuoteHandling

Typ: String

Strategia obsługi niewyobrażonych cudzysłowów. Dozwolone opcje:

* STOP_AT_CLOSING_QUOTE: Jeśli w danych wejściowych znajdują się niewyspoznane cudzysłowy, zakumuluj znak cudzysłowu i kontynuuj analizowanie wartości jako wartości cudzysłowu cudzysłowu, aż zostanie znaleziony cudzysłów zamykający.
* BACK_TO_DELIMITER: Jeśli w danych wejściowych znajdują się nieprzeznaczone cudzysłowy, należy rozważyć wartość jako wartość bez cudzysłowu. Spowoduje to, że analizator zgromadzi wszystkie znaki bieżącej wartości analizowanej do momentu znalezienia ogranicznika zdefiniowanego przez sep element . Jeśli w wartości nie znaleziono ogranicznika, analizator będzie nadal gromadzić znaki z danych wejściowych do momentu znalezienia ogranicznika lub zakończenia wiersza.
* STOP_AT_DELIMITER: Jeśli w danych wejściowych znajdują się nieprzeznaczone cudzysłowy, należy rozważyć wartość jako wartość bez cudzysłowu. Spowoduje to, że analizator zgromadzi wszystkie znaki do momentu znalezienia ogranicznika zdefiniowanego przez sepelement lub zakończenia wiersza w danych wejściowych.
* SKIP_VALUE: Jeśli w danych wejściowych zostaną znalezione niewyspoznane cudzysłowy, zawartość przeanalizowana dla danej wartości zostanie pominięta (do momentu znalezienia następnego ogranicznika), a zamiast tego zostanie wygenerowana wartość ustawiona w nullValue .
* RAISE_ERROR: Jeśli w danych wejściowych znajdują się niewyobrażalne cudzysłowy, a
TextParsingException zostanie zgłoszony.

Wartość domyślna: STOP_AT_DELIMITER

XML Opcje

Opcja Opis Scope
rowTag Tag wiersza plików XML do traktowania jako wiersza. W przykładowym pliku XML <books> <book><book>...<books>odpowiednia wartość to book. Ta opcja jest wymagana. odczyt
samplingRatio Definiuje ułamek wierszy używanych do wnioskowania schematu. Wbudowane funkcje XML ignorują tę opcję. Wartość domyślna: 1.0. odczyt
excludeAttribute Czy wykluczać atrybuty w elementach. Wartość domyślna: false. odczyt
mode Tryb radzenia sobie z uszkodzonymi rekordami podczas analizowania.

PERMISSIVE: W przypadku uszkodzonych rekordów źle sformułowany ciąg jest umieszczany w polu skonfigurowanym przez columnNameOfCorruptRecordprogram i ustawia źle sformułowane pola na nullwartość . Aby zachować uszkodzone rekordy, można ustawić string pole typu o nazwie columnNameOfCorruptRecord w schemacie zdefiniowanym przez użytkownika. Jeśli schemat nie ma pola, uszkodzone rekordy są porzucane podczas analizowania. Podczas wnioskowania schematu analizator niejawnie dodaje columnNameOfCorruptRecord pole w schemacie wyjściowym.

DROPMALFORMED: ignoruje uszkodzone rekordy. Ten tryb nie jest obsługiwany dla wbudowanych funkcji XML.

FAILFAST: zgłasza wyjątek, gdy analizator spełnia uszkodzone rekordy.
odczyt
inferSchema Jeśli trueprogram próbuje wywnioskować odpowiedni typ dla każdej wynikowej kolumny ramki danych. Jeśli falsewszystkie wynikowe kolumny są string typu . Wartość domyślna:
true. Wbudowane funkcje XML ignorują tę opcję.
odczyt
columnNameOfCorruptRecord Umożliwia zmianę nazwy nowego pola zawierającego źle sformułowany ciąg utworzony przez
PERMISSIVE Tryb. Wartość domyślna: spark.sql.columnNameOfCorruptRecord.
odczyt
attributePrefix Prefiks atrybutów do odróżnienia atrybutów od elementów. Będzie to prefiks nazw pól. Wartość domyślna to _. Może być pusty do odczytywania kodu XML, ale nie do zapisu. odczyt, zapis
valueTag Tag używany dla danych znaków w elementach, które mają również atrybuty lub elementy podrzędne. Użytkownik może określić valueTag pole w schemacie lub zostanie dodany automatycznie podczas wnioskowania schematu, gdy dane znaków znajdują się w elementach z innymi elementami lub atrybutami. Domyślnie: _VALUE odczyt,zapis
encoding Do odczytu dekoduje pliki XML według danego typu kodowania. Na potrzeby pisania określa kodowanie (charset) zapisanych plików XML. Wbudowane funkcje XML ignorują tę opcję. Wartość domyślna: UTF-8. odczyt, zapis
ignoreSurroundingSpaces Określa, czy wokół białych spacji z odczytywanych wartości należy pominąć. Wartość domyślna: true. Dane znaków tylko dla białych znaków są ignorowane. odczyt
rowValidationXSDPath Ścieżka do opcjonalnego pliku XSD używanego do sprawdzania poprawności kodu XML dla każdego wiersza osobno. Wiersze, które nie mogą sprawdzić poprawności, są traktowane jak błędy analizy, jak powyżej. XSD nie ma w inny sposób wpływu na podany schemat lub wywnioskowany. odczyt
ignoreNamespace Jeśli trueprefiksy przestrzeni nazw dla elementów i atrybutów XML są ignorowane. Tagi <abc:author> i <def:author>, na przykład są traktowane tak, jakby oba były tylko <author>. Przestrzenie nazw nie mogą być ignorowane w elemecie rowTag , tylko jego elementy podrzędne odczytu. Analizowanie kodu XML nie uwzględnia przestrzeni nazw, nawet jeśli false. Wartość domyślna: false. odczyt
timestampFormat Niestandardowy ciąg formatu znacznika czasu zgodny ze wzorcem daty/godziny. timestamp Dotyczy to typu. Wartość domyślna: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]. odczyt, zapis
timestampNTZFormat Ciąg formatu niestandardowego dla znacznika czasu bez strefy czasowej, która jest zgodna ze wzorcem daty/godziny. Dotyczy to typu TimestampNTZType. Wartość domyślna:
yyyy-MM-dd'T'HH:mm:ss[.SSS]
odczyt, zapis
dateFormat Niestandardowy ciąg formatu daty zgodny ze wzorcem daty/godziny. Dotyczy to typu daty. Wartość domyślna: yyyy-MM-dd. odczyt, zapis
locale Ustawia ustawienia regionalne jako tag języka w formacie IETF BCP 47. Na przykład locale jest używany podczas analizowania dat i sygnatur czasowych. Wartość domyślna: en-US. odczyt
rootTag Główny tag plików XML. Na przykład w pliku <books> <book><book>...</books>odpowiednią wartością jest books. Możesz uwzględnić podstawowe atrybuty, określając wartość, na przykład books foo="bar". Wartość domyślna: ROWS. zapis
declaration Zawartość deklaracji XML do zapisu na początku każdego wyjściowego pliku XML przed .rootTag Na przykład wartość foo przyczyn <?xml foo?> do zapisania. Ustaw wartość na pusty ciąg, aby pominąć. Domyślnie: version="1.0"
encoding="UTF-8" standalone="yes".
zapis
arrayElementName Nazwa elementu XML, który otacza każdy element kolumny z wartością tablicy podczas pisania. Wartość domyślna: item. zapis
nullValue Ustawia reprezentację ciągu wartości null. Wartość domyślna: ciąg null. Gdy jest nullto parametr , analizator nie zapisuje atrybutów i elementów dla pól. odczyt, zapis
compression Kod kompresji używany podczas zapisywania w pliku. Może to być jedna ze znanych skróconych nazw bez uwzględniania wielkości liter (none, bzip2, ,gziplz4, snappy', and<br>deflate'). Wbudowane funkcje XML ignorują tę opcję. Wartość domyślna: none. zapis
validateName Jeśli wartość true, zgłasza błąd podczas niepowodzenia sprawdzania poprawności nazwy elementu XML. Na przykład nazwy pól SQL mogą zawierać spacje, ale nazwy elementów XML nie mogą. Wartość domyślna:
true.
zapis
readerCaseSensitive Określa zachowanie poufności wielkości liter po włączeniu funkcji rescuedDataColumn. Jeśli to prawda, należy uratować kolumny danych, których nazwy różnią się wielkością liter od schematu; w przeciwnym razie odczytaj dane w sposób niewrażliwy na wielkość liter. Wartość domyślna: true. odczyt
rescuedDataColumn Czy zebrać wszystkie dane, których nie można przeanalizować z powodu niezgodności typu danych i niezgodności schematu (w tym wielkości liter kolumn) do oddzielnej kolumny. Ta kolumna jest domyślnie dołączana podczas korzystania z modułu automatycznego ładowania. Aby uzyskać więcej informacji, zobacz Co to jest uratowana kolumna danych?. Ustawienie domyślne: Brak. odczyt

PARQUET Opcje

Opcja
datetimeRebaseMode

Typ: String

Określa ponowne łączenie wartości DATE i TIMESTAMP między kalendarzami Julian i Proleptic Gregorian. Dozwolone wartości: EXCEPTION, LEGACYi
CORRECTED.

Wartość domyślna: LEGACY
int96RebaseMode

Typ: String

Steruje przebazowaniem wartości znacznika czasu INT96 między kalendarzami Julian i Proleptic Gregorian. Dozwolone wartości: EXCEPTION, LEGACYi
CORRECTED.

Wartość domyślna: LEGACY
mergeSchema

Typ: Boolean

Czy wywnioskować schemat między wieloma plikami i scalić schemat każdego pliku.

Wartość domyślna: false
readerCaseSensitive

Typ: Boolean

Określa zachowanie poufności wielkości liter po rescuedDataColumn włączeniu. Jeśli to prawda, należy uratować kolumny danych, których nazwy różnią się wielkością liter od schematu; w przeciwnym razie odczytaj dane w sposób niewrażliwy na wielkość liter.

Wartość domyślna: true
rescuedDataColumn

Typ: String

Czy zebrać wszystkie dane, których nie można przeanalizować z powodu niezgodności typu danych i niezgodności schematu (w tym wielkości liter kolumn) do oddzielnej kolumny. Ta kolumna jest domyślnie dołączana podczas korzystania z modułu automatycznego ładowania. Aby uzyskać więcej informacji, zobacz Co to jest uratowana kolumna danych?.

Wartość domyślna: Brak

AVRO Opcje

Opcja
avroSchema

Typ: String

Opcjonalny schemat dostarczony przez użytkownika w formacie Avro. Podczas odczytywania avro tę opcję można ustawić na rozwinięty schemat, który jest zgodny, ale różni się od rzeczywistego schematu Avro. Schemat deserializacji będzie zgodny ze schematem rozwiniętym. Jeśli na przykład ustawisz rozwinięty schemat zawierający jedną dodatkową kolumnę z wartością domyślną, wynik odczytu będzie również zawierać nową kolumnę.

Wartość domyślna: Brak
datetimeRebaseMode

Typ: String

Określa ponowne łączenie wartości DATE i TIMESTAMP między kalendarzami Julian i Proleptic Gregorian. Dozwolone wartości: EXCEPTION, LEGACYi
CORRECTED.

Wartość domyślna: LEGACY
mergeSchema

Typ: Boolean

Czy wywnioskować schemat między wieloma plikami i scalić schemat każdego pliku.
mergeSchema w przypadku usługi Avro nie można zrelaksować typów danych.

Wartość domyślna: false
readerCaseSensitive

Typ: Boolean

Określa zachowanie poufności wielkości liter po rescuedDataColumn włączeniu. Jeśli to prawda, należy uratować kolumny danych, których nazwy różnią się wielkością liter od schematu; w przeciwnym razie odczytaj dane w sposób niewrażliwy na wielkość liter.

Wartość domyślna: true
rescuedDataColumn

Typ: String

Czy zebrać wszystkie dane, których nie można przeanalizować z powodu niezgodności typu danych i niezgodności schematu (w tym wielkości liter kolumn) do oddzielnej kolumny. Ta kolumna jest domyślnie dołączana podczas korzystania z modułu automatycznego ładowania. Aby uzyskać więcej informacji, zobacz Co to jest uratowana kolumna danych?.

Wartość domyślna: Brak

BINARYFILE Opcje

Pliki binarne nie mają żadnych dodatkowych opcji konfiguracji.

TEXT Opcje

Opcja
encoding

Typ: String

Nazwa kodowania plików TEXT. Zobacz java.nio.charset.Charset listę opcji.

Wartość domyślna: UTF-8
lineSep

Typ: String

Ciąg między dwoma kolejnymi rekordami TEXT.

Wartość domyślna: Brak, który obejmuje \rwartości , \r\n i \n
wholeText

Typ: Boolean

Czy odczytywać plik jako pojedynczy rekord.

Wartość domyślna: false

ORC Opcje

Opcja
mergeSchema

Typ: Boolean

Czy wywnioskować schemat między wieloma plikami i scalić schemat każdego pliku.

Wartość domyślna: false