Udostępnij za pośrednictwem


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 Delta. Jest to operacja możliwa do ponowienia i idempotentna — pliki, które zostały już załadowane do lokalizacji źródłowej, są pomijane. Jest to prawdą, nawet jeśli pliki zostały zmodyfikowane od czasu ich załadowania. Aby zapoznać się z przykładami, zobacz Typowe wzorce ładowania danych przy użyciu COPY INTO.

Składnia

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) ] ) ]

Parametry

  • target_table

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

    Jeśli nazwa tabeli jest podana w postaci lokalizacji, takiej jak: delta.`/path/to/table` , Unity Catalog zarządza dostępem do lokalizacji, do których są zapisywane. Możesz zapisać w zewnętrznej lokalizacji, robiąc to tak:

    • Definiowanie lokalizacji jako lokalizacji zewnętrznej i posiadanie WRITE FILES uprawnień do tej lokalizacji zewnętrznej.

    • Posiadanie WRITE FILES uprawnień do nazwanego poświadczenia składowania, 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 Nawiązywanie połączenia z magazynem obiektów w chmurze i usługami przy użyciu katalogu Unity.

  • BY POSITION | ( col_name [ , <col_name> ... ] )

    Dopasuj kolumny źródłowe do kolumn tabeli docelowej według pozycji porządkowej. Rzutowanie dopasowanych kolumn odbywa się automatycznie.

    Ten parametr jest obsługiwany tylko w przypadku formatu pliku CSV bez nagłówka. Musisz określić wartość FILEFORMAT = CSV. Należy również ustawić FORMAT_OPTIONS na ("headers" = "false") (FORMAT_OPTIONS ("headers" = "false") jest wartością domyślną).

    Opcja składni 1: BY POSITION

    • Automatycznie dopasuje kolumny źródłowe do kolumn tabeli docelowej według pozycji porządkowej.
      • Domyślne dopasowanie nazw nie jest używane do porównywania.
      • IDENTITY kolumny i GENERATED kolumny tabeli docelowej są ignorowane podczas dopasowywania kolumn źródłowych.
      • Jeśli liczba kolumn źródłowych nie jest równa filtrowanej kolumnie tabeli docelowej, COPY INTO zgłasza błąd.

    Opcja składni 2: ( col_name [ , <col_name> ... ] )

    • Dopasuje kolumny źródłowe do określonych kolumn tabeli docelowej według względnej pozycji porządkowej przy użyciu listy nazw kolumn tabeli docelowej w nawiasach rozdzielonych przecinkami.
      • Oryginalna kolejność kolumn tabeli i nazwy kolumn nie są używane do dopasowywania.
      • Nie można określać kolumn IDENTITY oraz kolumn GENERATED na liście nazw kolumn, ponieważ COPY INTO zgłosi błąd.
      • Nie można zduplikować określonych kolumn.
      • Gdy liczba kolumn źródłowych nie jest równa określonej kolumnie tabeli, COPY INTO zgłasza błąd.
      • W przypadku kolumn, które nie są określone na liście nazw kolumn, COPY INTO przypisuje wartości domyślne, jeśli istnieją, i przypisuje NULL w przeciwnym razie. Jeśli żadna kolumna nie może zawierać wartości null, COPY INTO zgłasza błąd.
  • 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 zapisywania do 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 jako zewnętrznej i posiadanie READ FILES uprawnień do lokalizacji zewnętrznej za pośrednictwem Unity Catalog.

    • Używanie nazwanego poświadczenia dostępu do magazynu z uprawnieniami READ FILES, które zapewniają autoryzację uprawniającą do odczytu danych z lokalizacji za pośrednictwem Unity Catalog.

    Nie musisz podawać poświadczeń wbudowanych ani nazwanych, jeśli ścieżka jest już zdefiniowana jako lokalizacja zewnętrzna, do której masz uprawnienia dostępu. 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 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 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, które używasz z instrukcjami SELECT, w tym w operacjach okien. Wyrażeń agregacji można używać tylko dla agregacji globalnych — nie można stosować GROUP BY na kolumnach z tą składnią.

  • FILEFORMAT = data_source

    Format plików źródłowych do załadowania. Jeden z CSV, JSON, AVRO, 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 możliwości przechowywania 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 maksymalnie 50 wierszy, gdy z ROWS słowem kluczowym używa się liczby mniejszej niż 50.

  • FILES

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

  • PATTERN

    Wzorzec glob, który identyfikuje pliki do wczytania z katalogu źródłowego. Nie można określić za pomocą 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 wartość jest ustawiona na true, schemat można ewoluować zgodnie z danymi przychodzącymi.

Wywołaj COPY INTO równocześnie

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 go przetwarzać po jednym podkatalogu na raz. Podczas pozyskiwania katalogów z bardzo dużą liczbą plików usługa Databricks zaleca korzystanie z Auto Loader, 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 jako numSkippedCorruptFiles w
operationMetrics kolumna historii 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 dla modułu ładującego automatycznego, true dla COPY INTO (starsza wersja)
modifiedAfter
Typ: Timestamp String, na przykład 2021-01-01 00:00:00.000000 UTC+0
Opcjonalny znacznik czasu do pozyskiwania plików, które mają znacznik czasu 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 do pozyskiwania plików, które mają sygnaturę czasową modyfikacji starszą niż podany znacznik czasu.
Wartość domyślna: Brak
pathGlobFilter lub fileNamePattern
Typ: String
Potencjalny wzorzec globu umożliwiający wybór plików. Odpowiednik
PATTERN w COPY INTO (wersja archiwalna). fileNamePattern można użyć w pliku read_files.
Wartość domyślna: Brak
recursiveFileLookup
Typ: Boolean
Ta opcja przeszukuje zagnieżdżone katalogi, nawet jeśli ich nazwy nie pasują do schematu nazewnictwa partycji, takiego jak date=2019-07-01.
Wartość domyślna: false

JSON Opcje

Opcja
allowBackslashEscapingAnyCharacter
Typ: Boolean
Czy zezwolić na użycie ukośników odwrotnych do zasłaniania dowolnego znaku, który po nich następuje. 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 rozpoczynanie 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 nieoznaczonych znaków kontrolnych (znaki ASCII o wartości mniejszej niż 32, w tym znaki tabulatora i przesunięcia wiersza), czy 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 należy spróbować wywnioskować ciągi znaków czasowych jako TimestampType. Gdy jest ustawione
truewnioskowanie schematu może trwać znacznie dłużej. Należy włączyć cloudFiles.inferColumnTypes, aby używać 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 \r, \r\n i \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 dotyczący obsługi wadliwie uformowanych rekordów. 'PERMISSIVE'Jeden z
'DROPMALFORMED'lub 'FAILFAST'.
Wartość domyślna: PERMISSIVE
multiLine
Typ: Boolean
Czy rekordy JSON rozciągają się na wiele wierszy?
Wartość domyślna: false
prefersDecimal
Typ: Boolean
Próbuje traktować ciągi jako DecimalType zamiast typu float lub double, jeśli jest to możliwe. Należy również użyć wnioskowania schematu, na przykład przez włączenie
inferSchema lub za pomocą cloudFiles.inferColumnTypes z Auto Loader.
Wartość domyślna: false
primitivesAsString
Typ: Boolean
Czy należy wywnioskować typy pierwotne, takie jak liczby i wartości logiczne jako StringType.
Wartość domyślna: false
readerCaseSensitive
Typ: Boolean
Określa sposób rozróżniania wielkości liter, kiedy rescuedDataColumn jest włączone. 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 pisowni 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?.
COPY INTO (starsza wersja) nie obsługuje uratowanych kolumn danych, ponieważ nie można ręcznie ustawić schematu przy użyciu COPY INTO. Databricks zaleca używanie Auto Loader w przypadku większości scenariuszy przyjmowania danych.
Wartość domyślna: Brak
singleVariantColumn
Typ: String
Czy zaczytać cały dokument JSON, przeparsowany w jednej kolumnie Wariant z podanym ciągiem jako nazwą kolumny. Jeśli zostanie wyłączone, pola JSON zostaną zapisane do osobnych kolumn.
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 do 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 służący do ucieczki '\' jest zdefiniowany jako '\', rekord zostanie odczytany z 2 wartościami: [a\] i [b].

Wartość domyślna: '\0'
columnNameOfCorruptRecord
Obsługiwane w przypadku automatycznego modułu ładującego. Nie jest obsługiwane w przypadku COPY INTO (starsza wersja).
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, gdy znajduje się na początku wiersza tekstowego. 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 pustej wartości jako ciągu.
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 mogą być używane, gdy multiline jest true.
Wartość domyślna: UTF-8
enforceSchema
Typ: Boolean
Czy wymuszać stosowanie określonego lub wnioskowanego 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. Automatyczny moduł ładujący zakłada, że pliki mają nagłówki podczas ustalania schematu.
Wartość domyślna: false
ignoreLeadingWhiteSpace
Typ: Boolean
Czy ignorować początkowe spacje dla każdej analizowanej 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 przetwarzania danych, jeśli ustawiono wartość true. Zamiast tego użyj cloudFiles.inferColumnTypes dla Auto Loader.
Wartość domyślna: false
lineSep
Typ: String
Ciąg między dwoma kolejnymi rekordami CSV.
Wartość domyślna: Brak, który obejmuje \r, \r\n i \n
locale
Typ: String
Identyfikator java.util.Locale. Wpływa na domyślne parsowanie daty, znacznika czasu i liczb dziesiętnych 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 bez ograniczeń.
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 wśród wielu plików i scalić schemat każdego z nich. Domyślnie włączono funkcję automatycznego ładowania podczas wnioskowania schematu.
Wartość domyślna: false
mode
Typ: String
Tryb analizatora dotyczący obsługi wadliwie uformowanych 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
Tekstowa reprezentacja nieskończoności ujemnej podczas parsowania kolumn FloatType lub DoubleType.
Wartość domyślna: "-Inf"
nullValue
Typ: String
Reprezentacja wartości null jako ciąg znaków.
Wartość domyślna: ""
parserCaseSensitive (przestarzałe)
Typ: Boolean
Przy odczytywaniu plików, czy należy wyrównywać kolumny zadeklarowane w nagłówku z rozróżnieniem wielkości liter schematu? true To jest domyślne ustawienie dla Automatycznego Ładowania. Kolumny, które różnią się wielkością liter, zostaną zachowane w rescuedDataColumn jeśli opcja jest włączona. Ta opcja została uznana za przestarzałą na rzecz readerCaseSensitive.
Wartość domyślna: false
positiveInf
Typ: String
Postać tekstowa nieskończoności dodatniej podczas parsowania kolumn FloatType lub DoubleType.
Wartość domyślna: "Inf"
preferDate
Typ: Boolean
Próbuje interpretować ciągi znaków jako daty zamiast jako znacznik czasu, gdy jest to możliwe. Należy również użyć wnioskowania schematu, włączając inferSchema lub używając
cloudFiles.inferColumnTypes z automatycznym podajnikiem.
Wartość domyślna: true
quote
Typ: Char
Znak używany do wychwytywania wartości, w których ogranicznik pola jest częścią wartości.
Wartość domyślna: "
readerCaseSensitive
Typ: Boolean
Określa sposób rozróżniania wielkości liter, kiedy rescuedDataColumn jest włączone. 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 należy zebrać wszystkie dane, których nie można przetworzyć z powodu niezgodności typu danych lub schematu (w tym pisowni liter w kolumnach) 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?.
COPY INTO (starsza wersja) nie obsługuje uratowanych kolumn danych, ponieważ nie można ręcznie ustawić schematu przy użyciu COPY INTO. Databricks zaleca używanie Auto Loader w przypadku większości scenariuszy przyjmowania 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 wierszem, który nie został pominięty ani skomentowany.
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 niewyłuskanych cudzysłowów. Dozwolone opcje:
  • STOP_AT_CLOSING_QUOTE: Jeśli w danych wejściowych znajdują się niezamienione cudzysłowy, zbierz znak cudzysłowu i kontynuuj analizowanie wartości jako wartości w cudzysłowie, 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 sep, lub zakończenia wiersza w danych wejściowych.
  • SKIP_VALUE: Jeśli w danych wejściowych znajdzie się niewyrównane cudzysłowy, zawartość przeanalizowana dla danej wartości zostanie pominięta (do momentu znalezienia następnego ogranicznika), a wartość ustawiona w nullValue zostanie wygenerowana.
  • RAISE_ERROR: jeśli w danych wejściowych znajdują się nieoznaczone cudzysłowy, a
    TextParsingException zostanie wyrzucony.

Wartość domyślna: STOP_AT_DELIMITER

XML Opcje

Opcja opis Scope
rowTag Tag wiersza określający, jak traktować pliki XML jako wiersz. W przykładowym pliku XML <books> <book><book>...<books>odpowiednia wartość to book. Ta opcja jest wymagana. czytaj
samplingRatio Definiuje ułamek wierszy używanych do wnioskowania schematu. Wbudowane funkcje XML ignorują tę opcję. Wartość domyślna: 1.0. czytaj
excludeAttribute Czy wykluczać atrybuty w elementach. Wartość domyślna: false. czytaj
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 columnNameOfCorruptRecord, a źle sformułowane pola są ustawiane na null. 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 napotyka uszkodzone rekordy.
czytaj
inferSchema Jeśli true, program próbuje wywnioskować odpowiedni typ dla każdej wynikowej kolumny DataFrame. Jeśli false, wszystkie wynikowe kolumny są typu string. Wartość domyślna:
true. Wbudowane funkcje XML ignorują tę opcję.
czytaj
columnNameOfCorruptRecord Umożliwia zmianę nazwy nowego pola zawierającego źle sformułowany ciąg utworzony przez
PERMISSIVE tryb. Wartość domyślna: spark.sql.columnNameOfCorruptRecord.
czytaj
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ć pole valueTag w schemacie, albo zostanie ono dodane automatycznie podczas wnioskowania schematu, gdy dane znakowe są obecne w elementach wraz 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 otaczające białe spacje z odczytywanych wartości należy pominąć. Wartość domyślna: true. Dane zawierające wyłącznie znaki odstępu są ignorowane. czytaj
rowValidationXSDPath Ścieżka do opcjonalnego pliku XSD używanego do sprawdzania poprawności kodu XML dla każdego wiersza osobno. Wiersze, które nie przejdą walidacji, są traktowane jak błędy parsowania, jak powyżej. XSD nie wpływa w inny sposób na podany lub wywnioskowany schemat. czytaj
ignoreNamespace Jeśli true, prefiksy 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 elemencie rowTag, tylko jego podrzędne elementy do odczytu. Analizowanie kodu XML nie uwzględnia przestrzeni nazw, nawet jeśli false. Wartość domyślna: false. czytaj
timestampFormat Niestandardowy ciąg formatu znacznika czasu zgodny ze wzorcem wzorca daty i czasu. Dotyczy to typu timestamp. 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óry jest zgodny ze wzorcem formatu daty i 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 lokalizację 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. czytaj
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. pisać
declaration Zawartość deklaracji XML do zapisu na początku każdego wyjściowego pliku XML, przed rootTag. Na przykład wartość foo powoduje, że <?xml foo?> zostanie zapisane. Ustaw wartość na pusty ciąg, aby stłumić. Domyślnie: version="1.0"
encoding="UTF-8" standalone="yes".
pisać
arrayElementName Nazwa elementu XML, który otacza każdy element kolumny z wartością tablicy podczas zapisu. Wartość domyślna: item. pisać
nullValue Ustawia tekstową reprezentację wartości null. Wartość domyślna: ciąg null. Gdy wartość tego parametru to null, 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 niewrażliwych na wielkość liter (none, bzip2, gzip, lz4, snappy) i
deflate). Wbudowane funkcje XML ignorują tę opcję. Wartość domyślna: none.
pisać
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.
pisać
readerCaseSensitive Określa zachowanie uwzględniania 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. czytaj
rescuedDataColumn Czy należy zebrać wszystkie dane, których nie można przeanalizować z powodu niezgodności typu danych lub schematu (w tym niezgodności 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?.
COPY INTO (starsza wersja) nie obsługuje uratowanych kolumn danych, ponieważ nie można ręcznie ustawić schematu przy użyciu COPY INTO. Databricks zaleca używanie Auto Loader w przypadku większości scenariuszy przyjmowania danych.
Ustawienie domyślne: Brak.
czytaj

PARQUET Opcje

Opcja
datetimeRebaseMode
Typ: String
Określa przebazowanie wartości DATE i TIMESTAMP pomiędzy kalendarzami juliańskim a Proleptic Gregorian. Dozwolone wartości: EXCEPTION, LEGACYi
CORRECTED.
Wartość domyślna: LEGACY
int96RebaseMode
Typ: String
Zarządza przebazowaniem wartości znacznika czasu INT96 między kalendarzami juliańskim a proleptycznym gregoriańskim. Dozwolone wartości: EXCEPTION, LEGACYi
CORRECTED.
Wartość domyślna: LEGACY
mergeSchema
Typ: Boolean
Czy wywnioskować schemat wśród wielu plików i scalić schemat każdego z nich.
Wartość domyślna: false
readerCaseSensitive
Typ: Boolean
Określa sposób rozróżniania wielkości liter, kiedy rescuedDataColumn jest włączone. 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 należy zebrać wszystkie dane, których nie można przetworzyć z powodu niezgodności typu danych lub schematu (w tym pisowni liter w kolumnach) 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?.
COPY INTO (starsza wersja) nie obsługuje uratowanych kolumn danych, ponieważ nie można ręcznie ustawić schematu przy użyciu COPY INTO. Databricks zaleca używanie Auto Loader w przypadku większości scenariuszy przyjmowania 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 ewoluowanym. 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 przebazowanie wartości DATE i TIMESTAMP pomiędzy kalendarzami juliańskim a Proleptic Gregorian. Dozwolone wartości: EXCEPTION, LEGACYi
CORRECTED.
Wartość domyślna: LEGACY
mergeSchema
Typ: Boolean
Czy wywnioskować schemat wśród wielu plików i scalić schemat każdego z nich.
mergeSchema dla Avro nie jest możliwe złagodzenie typów danych.
Wartość domyślna: false
readerCaseSensitive
Typ: Boolean
Określa sposób rozróżniania wielkości liter, kiedy rescuedDataColumn jest włączone. 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 należy zebrać wszystkie dane, których nie można przetworzyć z powodu niezgodności typu danych lub schematu (w tym pisowni liter w kolumnach) do oddzielnej kolumny? Ta kolumna jest domyślnie dołączana podczas korzystania z modułu automatycznego ładowania.
COPY INTO (starsza wersja) nie obsługuje uratowanych kolumn danych, ponieważ nie można ręcznie ustawić schematu przy użyciu COPY INTO. Databricks zaleca używanie Auto Loader w przypadku większości scenariuszy przyjmowania danych.
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 następującymi po sobie rekordami TEXT.
Wartość domyślna: Brak, która obejmuje \r, \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 wśród wielu plików i scalić schemat każdego z nich.
Wartość domyślna: false