Opcje automatycznego modułu ładującego
Opcje konfiguracji specyficzne dla cloudFiles
źródła są poprzedzone prefiksem cloudFiles
, dzięki czemu znajdują się w oddzielnej przestrzeni nazw od innych opcji źródła przesyłania strumieniowego ze strukturą.
- Typowe opcje automatycznego modułu ładującego
- Opcje listy katalogów
- Opcje powiadomień dotyczących plików
- Opcje formatu pliku
- Opcje specyficzne dla chmury
Typowe opcje automatycznego modułu ładującego
Następujące opcje można skonfigurować dla listy katalogów lub trybu powiadamiania plików.
Opcja |
---|
cloudFiles.allowOverwrites Typ: Boolean Czy zezwolić na zmianę pliku katalogu wejściowego w celu zastąpienia istniejących danych. Istnieje kilka zastrzeżeń dotyczących włączania tej konfiguracji. Aby uzyskać szczegółowe informacje, zapoznaj się z tematem Czy narzędzie do automatycznego ładowania przetwarza plik ponownie, gdy plik zostanie dołączony lub zastąpiony? Wartość domyślna: false |
cloudFiles.backfillInterval Typ: Interval String Automatyczne ładowanie może wyzwalać asynchroniczne wypełniania w danym interwale, np. 1 day do wypełniania kopii zapasowych raz dziennie lub 1 week do wypełniania danych raz w tygodniu. Systemy powiadomień o zdarzeniach plików nie gwarantują 100% dostarczania wszystkich przekazanych plików, dlatego można użyć uzupełnień zapasowych, aby zagwarantować, że wszystkie pliki zostaną ostatecznie przetworzone, dostępne w środowisku Databricks Runtime 8.4 (EoS) i nowszych.Wartość domyślna: Brak |
cloudFiles.format Typ: String Format pliku danych w ścieżce źródłowej. Dozwolone wartości obejmują: - avro : plik Avro- binaryFile : plik binarny- csv : Odczytywanie plików CSV- json : plik JSON- orc : plik ORC- parquet : Odczytywanie plików Parquet przy użyciu usługi Azure Databricks- text : Plik tekstowyWartość domyślna: Brak (wymagana opcja) |
cloudFiles.includeExistingFiles Typ: Boolean Czy dołączyć istniejące pliki do ścieżki wejściowej przetwarzania strumienia, czy tylko przetworzyć nowe pliki przychodzące po wstępnej konfiguracji. Ta opcja jest oceniana tylko wtedy, gdy uruchamiasz strumień po raz pierwszy. Zmiana tej opcji po ponownym uruchomieniu strumienia nie ma żadnego wpływu. Wartość domyślna: true |
cloudFiles.inferColumnTypes Typ: Boolean Czy wywnioskować dokładne typy kolumn podczas korzystania z wnioskowania schematu. Domyślnie kolumny są wnioskowane jako ciągi podczas wnioskowania zestawów danych JSON i CSV. Aby uzyskać więcej informacji, zobacz wnioskowanie schematu. Wartość domyślna: false |
cloudFiles.maxBytesPerTrigger Typ: Byte String Maksymalna liczba nowych bajtów do przetworzenia w każdym wyzwalaczu. Można określić ciąg bajtów, taki jak 10g ograniczenie poszczególnych mikrobajtów do 10 GB danych. Jest to miękkie maksimum. Jeśli masz pliki o rozmiarze 3 GB, usługa Azure Databricks przetwarza 12 GB w mikrobajtach. W przypadku użycia razem z usługą cloudFiles.maxFilesPerTrigger usługa Azure Databricks zużywa do niższego limitu cloudFiles.maxFilesPerTrigger wartości lub cloudFiles.maxBytesPerTrigger , w zależności od tego, która z nich zostanie osiągnięta jako pierwsza. Ta opcja nie ma żadnego wpływu w przypadku użycia z Trigger.Once() programem (Trigger.Once() jest przestarzała).Wartość domyślna: Brak |
cloudFiles.maxFileAge Typ: Interval String Jak długo zdarzenie pliku jest śledzone w celach deduplikacji. Usługa Databricks nie zaleca dostrajania tego parametru, chyba że pozyskiwane są dane w kolejności milionów plików na godzinę. Aby uzyskać więcej informacji, zobacz sekcję dotyczącą przechowywania zdarzeń. Dostrajanie cloudFiles.maxFileAge zbyt agresywnie może powodować problemy z jakością danych, takie jak zduplikowane pozyskiwanie lub brakujące pliki. W związku z tym usługa Databricks zaleca ustawienie konserwatywne dla usługi cloudFiles.maxFileAge , takie jak 90 dni, co jest podobne do zalecanych porównywalnych rozwiązań do pozyskiwania danych.Wartość domyślna: Brak |
cloudFiles.maxFilesPerTrigger Typ: Integer Maksymalna liczba nowych plików do przetworzenia w każdym wyzwalaczu. W przypadku użycia razem z usługą cloudFiles.maxBytesPerTrigger usługa Azure Databricks zużywa do niższego limitu cloudFiles.maxFilesPerTrigger wartości lub cloudFiles.maxBytesPerTrigger , w zależności od tego, która z nich zostanie osiągnięta jako pierwsza. Ta opcja nie ma żadnego wpływu w przypadku użycia z opcją Trigger.Once() (przestarzałe).Wartość domyślna: 1000 |
cloudFiles.partitionColumns Typ: String Rozdzielona przecinkami lista kolumn partycji stylu hive, które mają być wnioskowane ze struktury katalogów plików. Kolumny partycji stylu hive to pary wartości klucza połączone znakiem równości, takimi jak <base-path>/a=x/b=1/c=y/file.format . W tym przykładzie kolumny partycji to a , b i c . Domyślnie te kolumny zostaną automatycznie dodane do schematu, jeśli używasz wnioskowania schematu i udostępniasz element <base-path> do ładowania danych. Jeśli podasz schemat, moduł automatycznego ładowania oczekuje, że te kolumny zostaną uwzględnione w schemacie. Jeśli nie chcesz, aby te kolumny były częścią schematu, możesz określić "" , aby ignorować te kolumny. Ponadto możesz użyć tej opcji, jeśli chcesz, aby kolumny mogły być wywnioskowane ścieżką pliku w złożonych strukturach katalogów, podobnie jak w poniższym przykładzie:<base-path>/year=2022/week=1/file1.csv <base-path>/year=2022/month=2/day=3/file2.csv <base-path>/year=2022/month=2/day=4/file3.csv Określanie cloudFiles.partitionColumns jako year,month,day zwróci wartośćyear=2022 dla file1.csv parametru , ale kolumny month i day będą mieć wartość null .month i zostaną poprawnie przeanalizowane dla file2.csv i day file3.csv .Wartość domyślna: Brak |
cloudFiles.schemaEvolutionMode Typ: String Tryb ewolucji schematu w miarę odnajdowania nowych kolumn w danych. Domyślnie kolumny są wnioskowane jako ciągi podczas wnioskowania zestawów danych JSON. Aby uzyskać więcej informacji, zobacz Ewolucja schematu. Wartość domyślna: "addNewColumns" jeśli schemat nie jest podany."none" inaczej. |
cloudFiles.schemaHints Typ: String Informacje o schemacie podane do modułu automatycznego ładowania podczas wnioskowania schematu. Aby uzyskać więcej szczegółów, zobacz wskazówki dotyczące schematu. Wartość domyślna: Brak |
cloudFiles.schemaLocation Typ: String Lokalizacja do przechowywania wywnioskowanych schematów i kolejnych zmian. Aby uzyskać więcej informacji, zobacz wnioskowanie schematu. Wartość domyślna: Brak (wymagany podczas wnioskowania schematu) |
cloudFiles.useStrictGlobber Typ: Boolean Czy używać ścisłego globberu zgodnego z domyślnym zachowaniem globbingu innych źródeł plików na platformie Apache Spark. Aby uzyskać więcej informacji, zobacz Typowe wzorce ładowania danych. Dostępne w środowisku Databricks Runtime 12.2 LTS lub nowszym. Wartość domyślna: false |
cloudFiles.validateOptions Typ: Boolean Czy sprawdzić poprawność opcji automatycznego modułu ładującego i zwrócić błąd dla nieznanych lub niespójnych opcji. Wartość domyślna: true |
Opcje listy katalogów
Poniższe opcje są istotne dla trybu listy katalogów.
Opcja |
---|
cloudFiles.useIncrementalListing (przestarzałe)Typ: String Ta funkcja jest przestarzała. Usługa Databricks zaleca używanie trybu powiadomień plików zamiast cloudFiles.useIncrementalListing .Czy używać listy przyrostowej, a nie pełnej listy w trybie listy katalogów. Domyślnie moduł automatycznego ładowania umożliwia automatyczne wykrywanie, czy dany katalog ma zastosowanie do listy przyrostowej. Można jawnie użyć listy przyrostowej lub użyć pełnej listy katalogów, ustawiając ją odpowiednio jako true lub false .Niepoprawne włączanie listy przyrostowej w katalogu niesyskrysycznie uporządkowanym uniemożliwia automatycznemu modułowi ładującemu odnajdywanie nowych plików. Współpracuje z usługą Azure Data Lake Storage Gen2 ( abfss:// ), S3 (s3:// ) i GCS (gs:// ).Dostępne w środowisku Databricks Runtime 9.1 LTS lub nowszym. Wartość domyślna: auto Dostępne wartości: auto , , true false |
Opcje powiadomień dotyczących plików
Następujące opcje są istotne dla trybu powiadamiania o plikach.
Opcja |
---|
cloudFiles.fetchParallelism Typ: Integer Liczba wątków do użycia podczas pobierania komunikatów z usługi kolejkowania. Wartość domyślna: 1 |
cloudFiles.pathRewrites Typ: ciąg JSON Wymagane tylko w przypadku określenia queueUrl , który odbiera powiadomienia o plikach z wielu zasobników S3 i chcesz korzystać z punktów instalacji skonfigurowanych do uzyskiwania dostępu do danych w tych kontenerach. Użyj tej opcji, aby przepisać prefiks ścieżki bucket/key z punktem instalacji. Można przepisać tylko prefiksy. Na przykład dla konfiguracji{"<databricks-mounted-bucket>/path": "dbfs:/mnt/data-warehouse"} , ścieżkas3://<databricks-mounted-bucket>/path/2017/08/fileA.json zostanie przepisany do dbfs:/mnt/data-warehouse/2017/08/fileA.json .Wartość domyślna: Brak |
cloudFiles.resourceTag Typ: Map(String, String) Seria par tagów klucz-wartość, które ułatwiają kojarzenie i identyfikowanie powiązanych zasobów, na przykład: cloudFiles.option("cloudFiles.resourceTag.myFirstKey", "myFirstValue") .option("cloudFiles.resourceTag.mySecondKey", "mySecondValue") Aby uzyskać więcej informacji na temat platformy AWS, zobacz Amazon SQS cost allocation tags (Tagi alokacji kosztów usługi Amazon SQS) i Configuring tags for an Amazon SNS (Konfigurowanie tagów dla usługi Amazon SNS). (1) Aby uzyskać więcej informacji na temat platformy Azure, zobacz Nazewnictwo kolejek i metadanych oraz pokrycie properties.labels w subskrypcjach zdarzeń. Moduł automatycznego ładowania przechowuje te pary tagów klucz-wartość w formacie JSON jako etykiety. (1)Aby uzyskać więcej informacji na temat GCP, zobacz Raportowanie użycia z etykietami. (1) Wartość domyślna: Brak |
cloudFiles.useNotifications Typ: Boolean Czy używać trybu powiadomień plików do określenia, kiedy istnieją nowe pliki. Jeśli false , użyj trybu listy katalogów. Zobacz Porównanie trybów wykrywania plików automatycznego modułu ładującego.Wartość domyślna: false |
(1) Moduł automatycznego ładowania domyślnie dodaje następujące pary tagów klucz-wartość domyślnie:
vendor
:Databricks
path
: lokalizacja, z której są ładowane dane. Niedostępne w GCP z powodu ograniczeń etykietowania.checkpointLocation
: lokalizacja punktu kontrolnego strumienia. Niedostępne w GCP z powodu ograniczeń etykietowania.streamId
: globalnie unikatowy identyfikator strumienia.
Te nazwy kluczy są zastrzeżone i nie można zastąpić ich wartości.
Opcje formatu pliku
Za pomocą modułu automatycznego ładowania można pozyskiwać JSON
pliki , , CSV
, PARQUET
AVRO
, TEXT
, BINARYFILE
i ORC
.
- Opcje ogólne
JSON
OpcjeCSV
OpcjeXML
OpcjePARQUET
OpcjeAVRO
OpcjeBINARYFILE
OpcjeTEXT
OpcjeORC
Opcje
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 woperationMetrics 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śćtrue wnioskowanie 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 \r wartości , \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 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łączenieinferSchema 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 Runtime13.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 |
singleVariantColumn Typ: String Czy pozyskać cały dokument JSON, przeanalizowany w jednej kolumnie Wariant z podanym ciągiem jako nazwą kolumny. W przypadku wyłączenia pola JSON zostaną pozyskane do własnych 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 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 \r wartości , \r\n i \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 poleceniacloudFiles.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 sep element 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, aTextParsingException 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 columnNameOfCorruptRecord program i ustawia źle sformułowane pola na null wartość . 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 true program próbuje wywnioskować odpowiedni typ dla każdej wynikowej kolumny ramki danych. Jeśli false wszystkie 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 przezPERMISSIVE 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 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 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 null to 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 , , gzip lz4 snappy , ideflate ). 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 , LEGACY iCORRECTED .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 , LEGACY iCORRECTED .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 , LEGACY iCORRECTED .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 \r wartoś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 |
Opcje specyficzne dla chmury
Moduł automatycznego ładowania udostępnia wiele opcji konfigurowania infrastruktury chmury.
- Opcje specyficzne dla platformy AWS
- Opcje specyficzne dla platformy Azure
- Opcje specyficzne dla google
Opcje specyficzne dla platformy AWS
Podaj następującą opcję tylko wtedy, gdy wybierzesz opcję cloudFiles.useNotifications
= true
Automatycznego modułu ładującego, aby skonfigurować usługi powiadomień dla Ciebie:
Opcja |
---|
cloudFiles.region Typ: String Region, w którym znajduje się źródłowy zasobnik S3 i gdzie zostaną utworzone usługi AWS SNS i SQS. Wartość domyślna: region wystąpienia usługi EC2. |
Podaj następującą opcję tylko wtedy, gdy wybierzesz opcję cloudFiles.useNotifications
= true
Automatycznego modułu ładującego, aby używał już skonfigurowanej kolejki:
Opcja |
---|
cloudFiles.queueUrl Typ: String Adres URL kolejki SQS. Jeśli to możliwe, moduł automatycznego ładowania bezpośrednio korzysta ze zdarzeń z tej kolejki zamiast konfigurowania własnych usług AWS SNS i SQS. Wartość domyślna: Brak |
Poniższe opcje umożliwiają podanie poświadczeń w celu uzyskania dostępu do usług AWS SNS i SQS, gdy role zarządzanie dostępem i tożsamościami nie są dostępne lub podczas pozyskiwania danych z różnych chmur.
Opcja |
---|
cloudFiles.awsAccessKey Typ: String Identyfikator klucza dostępu platformy AWS dla użytkownika. Należy podać cloudFiles.awsSecretKey .Wartość domyślna: Brak |
cloudFiles.awsSecretKey Typ: String Klucz dostępu wpisu tajnego platformy AWS dla użytkownika. Należy podać cloudFiles.awsAccessKey .Wartość domyślna: Brak |
cloudFiles.roleArn Typ: String ARN roli IAM, która ma być przyjmowana. Rolę można przyjąć z profilu wystąpienia klastra lub podając poświadczenia za pomocą polecenia cloudFiles.awsAccessKey i cloudFiles.awsSecretKey .Wartość domyślna: Brak |
cloudFiles.roleExternalId Typ: String Identyfikator do podania przy założeniu roli przy użyciu polecenia cloudFiles.roleArn .Wartość domyślna: Brak |
cloudFiles.roleSessionName Typ: String Opcjonalna nazwa sesji do użycia podczas przy założeniu roli przy użyciu cloudFiles.roleArn .Wartość domyślna: Brak |
cloudFiles.stsEndpoint Typ: String Opcjonalny punkt końcowy umożliwiający uzyskanie dostępu do usługi AWS STS przy założeniu roli przy użyciu polecenia cloudFiles.roleArn .Wartość domyślna: Brak |
Opcje specyficzne dla platformy Azure
Musisz podać wartości dla wszystkich następujących opcji, jeśli określisz cloudFiles.useNotifications
= true
i chcesz, aby automatycznie ładujący skonfigurować usługi powiadomień dla Ciebie:
Opcja |
---|
cloudFiles.clientId Typ: String Identyfikator klienta lub identyfikator aplikacji jednostki usługi. Wartość domyślna: Brak |
cloudFiles.clientSecret Typ: String Wpis tajny klienta jednostki usługi. Wartość domyślna: Brak |
cloudFiles.connectionString Typ: String Parametry połączenia dla konta magazynu na podstawie klucza dostępu do konta lub sygnatury dostępu współdzielonego (SAS). Wartość domyślna: Brak |
cloudFiles.resourceGroup Typ: String Grupa zasobów platformy Azure, w ramach której jest tworzone konto magazynu. Wartość domyślna: Brak |
cloudFiles.subscriptionId Typ: String Identyfikator subskrypcji platformy Azure, w ramach którego jest tworzona grupa zasobów. Wartość domyślna: Brak |
cloudFiles.tenantId Typ: String Identyfikator dzierżawy platformy Azure, w ramach którego jest tworzona jednostka usługi. Wartość domyślna: Brak |
Ważne
Automatyczna konfiguracja powiadomień jest dostępna w regionach Platformy Azure (Chiny) i Government z usługą Databricks Runtime 9.1 lub nowszym. Aby używać automatycznego modułu ładującego z powiadomieniami o plikach w tych regionach dla starszych wersji DBR, należy podać element queueName
.
Podaj następującą opcję tylko wtedy, gdy wybierzesz opcję cloudFiles.useNotifications
= true
Automatycznego modułu ładującego, aby używał już skonfigurowanej kolejki:
Opcja |
---|
cloudFiles.queueName Typ: String Nazwa kolejki platformy Azure. Jeśli zostanie to podane, źródło plików w chmurze bezpośrednio zużywa zdarzenia z tej kolejki, zamiast konfigurować własne usługi Azure Event Grid i Queue Storage. W takim przypadku użytkownik cloudFiles.connectionString wymaga tylko uprawnień do odczytu w kolejce.Wartość domyślna: Brak |
Opcje specyficzne dla google
Automatyczne ładowanie może automatycznie konfigurować usługi powiadomień, korzystając z kont usług Google. Klaster można skonfigurować tak, aby zakładał konto usługi, postępując zgodnie z konfiguracją usługi Google. Uprawnienia wymagane przez konto usługi są określone w trybie powiadamiania o plikach automatycznego ładowania?. W przeciwnym razie możesz podać następujące opcje uwierzytelniania, jeśli chcesz, aby moduł automatycznego ładowania skonfigurował usługi powiadomień.
Opcja |
---|
cloudFiles.client Typ: String Identyfikator klienta konta usługi Google. Wartość domyślna: Brak |
cloudFiles.clientEmail Typ: String Adres e-mail konta usługi Google. Wartość domyślna: Brak |
cloudFiles.privateKey Typ: String Klucz prywatny wygenerowany dla konta usługi Google. Wartość domyślna: Brak |
cloudFiles.privateKeyId Typ: String Identyfikator klucza prywatnego wygenerowanego dla konta usługi Google. Wartość domyślna: Brak |
cloudFiles.projectId Typ: String Identyfikator projektu, w którego znajduje się zasobnik GCS. Subskrypcja Google Cloud Pub/Sub zostanie również utworzona w ramach tego projektu. Wartość domyślna: Brak |
Podaj następującą opcję tylko wtedy, gdy wybierzesz opcję cloudFiles.useNotifications
= true
Automatycznego modułu ładującego, aby używał już skonfigurowanej kolejki:
Opcja |
---|
cloudFiles.subscription Typ: String Nazwa subskrypcji Google Cloud Pub/Sub. Jeśli zostanie to podane, źródło plików w chmurze korzysta ze zdarzeń z tej kolejki zamiast konfigurowania własnych usług GCS Notification i Google Cloud Pub/Sub. Wartość domyślna: Brak |