Параметры Автозагрузчика
Параметры конфигурации, относящиеся к источнику cloudFiles
, начинаются с префикса cloudFiles
, поэтому они находятся в пространстве имен, отдельном от других параметров источника структурированной потоковой передачи.
- Стандартные параметры автозагрузчика
- Параметры списка файлов каталога
- Параметры уведомлений о файлах
- Параметры формата файла
- Параметры, относящиеся к облаку
Стандартные параметры Автозагрузчика
Для режима списка файлов каталога или режима уведомления о файлах вы можете настроить приведенные ниже параметры.
Вариант |
---|
cloudFiles.allowOverwrites Тип: Boolean Разрешено ли изменение файла входного каталога для перезаписи существующих данных. Существует несколько предостережения по включению этой конфигурации. Дополнительные сведения см. в статье "Автозагрузчик" снова при добавлении или перезаписи файла. Значение по умолчанию: false |
cloudFiles.backfillInterval Тип: Interval String Автозагрузчик может активировать асинхронные обратные заполнения с заданным интервалом, например, 1 day для обратного заполнения один раз в день или 1 week для обратного заполнения раз в неделю. Системы уведомлений о событиях файлов не гарантируют 100 % доставки всех отправленных файлов, поэтому можно использовать резервные заполнения, чтобы гарантировать, что все файлы в конечном итоге обрабатываются, доступные в Databricks Runtime 8.4 (EoS) и выше.Значение по умолчанию: нет |
cloudFiles.format Тип: String Формат файла данных в исходном пути. Допустимые значения: - avro : файл Avro- binaryFile : двоичный файл- csv : чтение CSV-файлов- json : JSON-файл- orc : файл ORC- parquet : чтение файлов Parquet с помощью Azure Databricks- text : текстовые файлы- xml : чтение и запись XML-файловЗначение по умолчанию: нет (обязательный параметр) |
cloudFiles.includeExistingFiles Тип: Boolean Следует ли включать существующие файлы во входной путь обработки потоковой передачи или обрабатывать только новые файлы, поступающие после первоначальной настройки. Этот параметр оценивается только при первом запуске потока. Изменение этого параметра после перезапуска потока не даст результата. Значение по умолчанию: true |
cloudFiles.inferColumnTypes Тип: Boolean Следует ли выводить точные типы столбцов при использовании вывода схемы. По умолчанию столбцы выводятся как строки при выводе наборов данных JSON и CSV. Дополнительные сведения см. в разделе Вывод схемы. Значение по умолчанию: false |
cloudFiles.maxBytesPerTrigger Тип: Byte String Максимальное число новых байтов, которое может обрабатываться в каждом триггере. Можно указать строку байтов, например 10g , чтобы ограничить каждый микропакет до 10 ГБ данных. Это мягкое ограничение. Если у вас есть файлы размером 3 ГБ каждый, Azure Databricks обработает микропакет 12 ГБ. При совместном использовании с cloudFiles.maxFilesPerTrigger Azure Databricks потребляет до нижнего предела cloudFiles.maxFilesPerTrigger или cloudFiles.maxBytesPerTrigger , в зависимости от того, что будет достигнуто раньше. Этот параметр не действует при использовании с Trigger.Once() (Trigger.Once() не рекомендуется).Значение по умолчанию: нет |
cloudFiles.maxFileAge Тип: Interval String Длительность отслеживания события файла для обнаружения дубликатов. В Databricks не рекомендуется настраивать этот параметр, если вы не принимаете данные порядка миллионов файлов в час. Дополнительные сведения см. в разделе Хранение событий. Настройка cloudFiles.maxFileAge слишком агрессивно может вызвать проблемы с качеством данных, такие как дублирование приема или отсутствующие файлы. Таким образом, Databricks рекомендует консервативный параметр cloudFiles.maxFileAge для таких, как 90 дней, который похож на то, что сопоставимые решения приема данных рекомендуют.Значение по умолчанию: нет |
cloudFiles.maxFilesPerTrigger Тип: Integer Максимальное число новых файлов, которое должно быть обработано в каждом триггере. При совместном использовании с cloudFiles.maxBytesPerTrigger Azure Databricks потребляет до нижнего предела cloudFiles.maxFilesPerTrigger или cloudFiles.maxBytesPerTrigger , в зависимости от того, что будет достигнуто раньше. Этот параметр не действует при использовании с Trigger.Once() (не рекомендуется).Значение по умолчанию: 1000 |
cloudFiles.partitionColumns Тип: String Разделенный запятыми список столбцов секционирования в стиле Hive, которые должны выводиться из структуры каталогов файлов. Столбцы секционирования в стиле Hive — это пары "ключ — значение", объединенные знаком равенства, например <base-path>/a=x/b=1/c=y/file.format . В этом примере столбцы секционирования представляют собой a , b и c . По умолчанию эти столбцы автоматически добавляются в схему, если вы используете вывод схемы и предоставляете <base-path> данные для загрузки данных. Если вы задаете схему, то Автозагрузчик ожидает включение в нее этих столбцов. Если вы не хотите, чтобы эти столбцы были включены в схему, можно указать "" , чтобы игнорировать их. Кроме того, этот параметр можно использовать, если требуется, чтобы столбцы выводили путь к файлу в сложных структурах каталогов, как показано в примере ниже.<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 Указание cloudFiles.partitionColumns как year,month,day будет возвращатьyear=2022 для file1.csv , но столбцы month и day будут null .month и day будут правильно проанализированы для file2.csv и file3.csv .Значение по умолчанию: нет |
cloudFiles.schemaEvolutionMode Тип: String Режим для развития схемы по мере обнаружения в данных новых столбцов. По умолчанию столбцы выводятся как строки при выводе наборов данных JSON. Дополнительные сведения см. в разделе Развитие схемы. Значение по умолчанию: "addNewColumns" , если схема не задана.В противном случае — значение "none" . |
cloudFiles.schemaHints Тип: String Сведения о схеме, которые вы предоставляете Автозагрузчику при выводе схемы. Дополнительные сведения см. в разделе Указания для схемы. Значение по умолчанию: нет |
cloudFiles.schemaLocation Тип: String Расположение для хранения выводимой схемы и последующих изменений. Дополнительные сведения см. в разделе Вывод схемы. Значение по умолчанию: нет (требуется при выводе схемы) |
cloudFiles.useStrictGlobber Тип: Boolean Следует ли использовать строгий глоббер, соответствующий по умолчанию поведением глоббинга других источников файлов в Apache Spark. Дополнительные сведения см . в общих шаблонах загрузки данных. Доступно в Databricks Runtime 12.2 LTS и более поздних версиях. Значение по умолчанию: false |
cloudFiles.validateOptions Тип: Boolean Следует ли проверять параметры Автозагрузчика и возвращать ошибку для неизвестных или несогласованных параметров. Значение по умолчанию: true |
Параметры списка файлов каталога
Следующие параметры относятся к режиму формирования списка файлов каталога.
Вариант |
---|
cloudFiles.useIncrementalListing (не рекомендуется)Тип: String Эта функция является устаревшей. Databricks рекомендует использовать режим уведомлений файлов вместо cloudFiles.useIncrementalListing .Следует ли использовать добавочный список вместо полного списка в режиме формирования списка файлов каталогов. По умолчанию автозагрузчик делает все возможное, чтобы автоматически определить, применим ли данный каталог к добавочному перечислению. Вы можете явно использовать добавочный список или использовать полный список файлов каталогов, задав для этого параметра значение true или false соответственно.Неправильное включение добавочного перечисления в нелексически упорядоченном каталоге запрещает автозагрузчику обнаруживать новые файлы. Работает с Azure Data Lake Storage 2-го поколения ( abfss:// ), S3 (s3:// ) и GCS (gs:// ).Доступно в Databricks Runtime 9.1 LTS и более поздних версий. Значение по умолчанию: auto Доступные значения: auto , true , false |
Параметры уведомлений о файлах
Следующие параметры относятся к режиму уведомлений о файлах.
Вариант |
---|
cloudFiles.fetchParallelism Тип: Integer Число потоков, используемых для получения сообщений из службы очередей. Значение по умолчанию: 1 |
cloudFiles.pathRewrites Тип: строка JSON Требуется, только если вы указываете параметр queueUrl , который получает уведомления о файлах из нескольких контейнеров S3, и хотите использовать точки подключения, настроенные для доступа к данным в этих контейнерах. Используйте этот параметр, чтобы перезаписать префикс bucket/key пути точкой подключения. Перезаписывать можно только префиксы. Например, для конфигурации{"<databricks-mounted-bucket>/path": "dbfs:/mnt/data-warehouse"} , путьs3://<databricks-mounted-bucket>/path/2017/08/fileA.json перезаписывается в dbfs:/mnt/data-warehouse/2017/08/fileA.json .Значение по умолчанию: нет |
cloudFiles.resourceTag Тип: Map(String, String) Ряд пар тегов "ключ — значение", которые помогают связать и идентифицировать связанные ресурсы, например: cloudFiles.option("cloudFiles.resourceTag.myFirstKey", "myFirstValue") .option("cloudFiles.resourceTag.mySecondKey", "mySecondValue") Дополнительные сведения об AWS см. в разделах Теги распределения затрат Amazon SQS и Настройка тегов для темы Amazon SNS. (1) Для получения дополнительных сведений об Azure см. раздел Именование очередей и метаданных, а также покрытие properties.labels в статье Подписки на события. Автозагрузчик сохраняет эти пары тегов "ключ — значение" в формате JSON в виде меток.
(1)Дополнительные сведения о GCP см. в разделе Отчеты по данным об использовании с метками. (1) Значение по умолчанию: нет |
cloudFiles.useNotifications Тип: Boolean Следует ли использовать режим уведомлений о файлах для определения наличия новых файлов. Если значение равно false , используется режим листинга каталогов. См. режимы обнаружения файлов автозагрузчика.Значение по умолчанию: false |
(1) Автозагрузчик по мере возможности добавляет по умолчанию следующие пары тегов "ключ-значение".
-
vendor
:Databricks
-
path
: расположение, из которого загружаются данные. Недоступно в GCP из-за ограничений по маркировке. -
checkpointLocation
: расположение контрольной точки потока. Недоступно в GCP из-за ограничений по маркировке. -
streamId
: глобальный уникальный идентификатор для потока.
Эти имена ключей зарезервированы, их значения невозможно перезаписать.
Параметры формата файлов
С помощью Автозагрузчика можно принимать файлы форматов JSON
, CSV
, PARQUET
, AVRO
, TEXT
, BINARYFILE
и ORC
.
- Универсальные параметры
-
Параметры
JSON
-
Параметры
CSV
-
Параметры
XML
-
Параметры
PARQUET
-
Параметры
AVRO
-
Параметры
BINARYFILE
-
Параметры
TEXT
-
Параметры
ORC
Универсальные параметры
Следующие параметры применяются ко всем форматам файлов.
Вариант |
---|
ignoreCorruptFiles Тип: Boolean Определяет, следует ли игнорировать поврежденные файлы. Если задано значение true, задания Spark будут продолжать выполняться при обнаружении поврежденных файлов, а прочитанное содержимое будет возвращено. Наблюдаемое как numSkippedCorruptFiles встолбце operationMetrics журнала Delta Lake. Доступно в Databricks Runtime 11.3 LTS и более поздних версиях.Значение по умолчанию: false |
ignoreMissingFiles Тип: Boolean Определяет, следует ли игнорировать отсутствующие файлы. Если задано значение true, задания Spark будут продолжать выполняться при обнаружении отсутствующих файлов, а прочитанное содержимое будет возвращено. Доступно в Databricks Runtime 11.3 LTS и более поздних версиях. Значение по умолчанию: false (true для COPY INTO ). |
modifiedAfter Тип: Timestamp String , например 2021-01-01 00:00:00.000000 UTC+0 .Необязательная метка времени для приема файлов с меткой времени изменения после указанной метки времени. Значение по умолчанию: нет |
modifiedBefore Тип: Timestamp String , например 2021-01-01 00:00:00.000000 UTC+0 .Необязательная метка времени для приема файлов с меткой времени изменения до указанной метки времени. Значение по умолчанию: нет |
pathGlobFilter или fileNamePattern Тип: String Потенциальная стандартная маска для выбора файлов. Эквивалент PATTERN в COPY INTO ;
fileNamePattern можно использовать в read_files .Значение по умолчанию: нет |
recursiveFileLookup Тип: Boolean Следует ли пропустить вывод секции во время вывода схемы. Это не влияет на загрузку файлов. Значение по умолчанию: false |
JSON
options
Вариант |
---|
allowBackslashEscapingAnyCharacter Тип: Boolean Разрешить ли обратные косые черты для экранирования любого символа, который следует за ними. Если параметр не включен, экранировать можно только те символы, которые явно указаны в спецификации JSON. Значение по умолчанию: false |
allowComments Тип: Boolean Разрешить ли использование комментариев в стиле Java, C и C++ (видов '/' , '*' и '//' ) в проанализированном содержимом.Значение по умолчанию: false |
allowNonNumericNumbers Тип: Boolean Разрешить ли набор токенов, не равных числу ( NaN ), в качестве допустимых числовых значений с плавающей запятой.Значение по умолчанию: true |
allowNumericLeadingZeros Тип: Boolean Разрешить ли целочисленное число начинаться с дополнительных (игнорируемых) нули (например, 000001 ).Значение по умолчанию: false |
allowSingleQuotes Тип: Boolean Разрешить ли использование одинарных кавычек (апостроф, символ '\' ) для заключения в кавычки строк (имен и строковых значений).Значение по умолчанию: true |
allowUnquotedControlChars Тип: Boolean Разрешить ли строкам JSON содержать неэкранированные управляющие символы (символы ASCII со значением меньше 32, включая символы табуляции и перевода строки). Значение по умолчанию: false |
allowUnquotedFieldNames Тип: Boolean Разрешить ли использование имен полей, не заключенных в кавычки (которые разрешены в JavaScript, но не в спецификации JSON). Значение по умолчанию: false |
badRecordsPath Тип: String Путь для хранения файлов для записи сведений о неправильных записях JSON. Значение по умолчанию: нет |
columnNameOfCorruptRecord Тип: String Столбец для хранения записей, которые имеют неправильный формат и не могут быть проанализированы. Если в качестве mode для синтаксического анализа задано значение DROPMALFORMED , этот столбец будет пустым.Значение по умолчанию: _corrupt_record |
dateFormat Тип: String Формат синтаксического анализа строк даты. Значение по умолчанию: yyyy-MM-dd |
dropFieldIfAllNull Тип: Boolean Игнорировать ли столбцы, в которых все значения равны NULL, пустые массивы и структуры во время вывода схемы. Значение по умолчанию: false |
encoding или charset Тип: String Имя кодировки файлов JSON. Список вариантов см. в java.nio.charset.Charset . Нельзя использовать UTF-16 и UTF-32 , если multiline имеет значение true .Значение по умолчанию: UTF-8 |
inferTimestamp Тип: Boolean Попытаться ли вывести строки меток времени как TimestampType . Если задано значениеtrue , вывод схемы может занять заметно больше времени. Необходимо включить cloudFiles.inferColumnTypes использование с автозагрузчиком.Значение по умолчанию: false |
lineSep Тип: String Строка между двумя последовательными записями JSON. Значение по умолчанию None (Нет) охватывает \r , \r\n и \n . |
locale Тип: String Идентификатор java.util.Locale . Влияет на синтаксический анализ даты, метки времени и десятичного разделителя по умолчанию в JSON.Значение по умолчанию: US |
mode Тип: String Режим средства синтаксического анализа для обработки неправильных записей. Возможные значения: 'PERMISSIVE' ,'DROPMALFORMED' или 'FAILFAST' .Значение по умолчанию: PERMISSIVE |
multiLine Тип: Boolean Занимает ли запись JSON несколько строк. Значение по умолчанию: false |
prefersDecimal Тип: Boolean Пытается выводить строки как DecimalType не с плавающей или двойной тип, когда это возможно. Кроме того, необходимо использовать вывод схемы, включив его.inferSchema или используется cloudFiles.inferColumnTypes с автозагрузчиком.Значение по умолчанию: false |
primitivesAsString Тип: Boolean Выводить ли примитивные типы, такие как числа и логические значения, как StringType .Значение по умолчанию: false |
readerCaseSensitive Тип: Boolean Указывает поведение учета регистра при включении rescuedDataColumn . Если значение равно true, столбцы данных, имена которых отличаются по регистру от схемы, восстанавливаются; в противном случае данные считываются без учета регистра. Доступно в Databricks Runtime13.3 и выше. Значение по умолчанию: true |
rescuedDataColumn Тип: String Следует ли собирать все данные, которые не могут быть проанализированы из-за несоответствия типов данных или несоответствия схем (включая регистр столбцов), в отдельный столбец. Этот столбец включен по умолчанию при использовании Автозагрузчика. Дополнительные сведения см. в разделе "Что такое столбец спасенных данных?". Значение по умолчанию: нет |
singleVariantColumn Тип: String Следует ли принять весь документ JSON, проанализированный в один столбец Variant с заданной строкой в качестве имени столбца. При отключении поля JSON будут приема в собственные столбцы. Значение по умолчанию: нет |
timestampFormat Тип: String Формат для синтаксического анализа строк меток времени. Значение по умолчанию: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] |
timeZone Тип: String Объект java.time.ZoneId , используемый при анализе меток времени и дат.Значение по умолчанию: нет |
CSV
options
Вариант |
---|
badRecordsPath Тип: String Путь для хранения файлов для записи сведений о неправильных записях CSV. Значение по умолчанию: нет |
charToEscapeQuoteEscaping Тип: Char Символ, используемый для экранирования символа, используемого для экранирования кавычек. Например, для следующей записи: [ " a\\", b ] :— Если символ для экранирования '\' не определен, запись не будет проанализирована. Средство синтаксического анализа будет считывать символы: [a],[\],["],[,],[ ],[b] и вызывать ошибку, так как не сможет найти закрывающую кавычку.— Если символ для экранирования '\' определен как '\' , запись будет считываться с 2 значениями: [a\] и [b] .Значение по умолчанию: '\0' |
columnNameOfCorruptRecord Поддерживается для автозагрузчика. Не поддерживается для COPY INTO .Тип: String Столбец для хранения записей, которые имеют неправильный формат и не могут быть проанализированы. Если в качестве mode для синтаксического анализа задано значение DROPMALFORMED , этот столбец будет пустым.Значение по умолчанию: _corrupt_record |
comment Тип: Char Определяет символ, обозначающий, что строка является комментарием, если он будет найден в начале строки текста. Используйте '\0' , чтобы отключить пропуск комментария.Значение по умолчанию: '\u0000' |
dateFormat Тип: String Формат синтаксического анализа строк даты. Значение по умолчанию: yyyy-MM-dd |
emptyValue Тип: String Строковое представление пустого значения. Значение по умолчанию: "" |
encoding или charset Тип: String Имя кодировки CSV-файлов. Список вариантов см. в java.nio.charset.Charset .
UTF-16 и UTF-32 использовать нельзя, если multiline имеет значение true .Значение по умолчанию: UTF-8 |
enforceSchema Тип: Boolean Следует ли принудительно применять указанную или выведенную схему к CSV-файлам. Если параметр включен, заголовки CSV-файлов игнорируются. Этот параметр игнорируется по умолчанию при использовании Автозагрузчика для восстановления данных и разрешения на развитие схемы. Значение по умолчанию: true |
escape Тип: Char Escape-символ, используемый при анализе данных. Значение по умолчанию: '\' |
header Тип: Boolean Содержат ли CSV-файлы заголовок. При выводе схемы Автозагрузчик предполагает, что файлы имеют заголовки. Значение по умолчанию: false |
ignoreLeadingWhiteSpace Тип: Boolean Следует ли игнорировать начальные пробелы для каждого анализируемого значения. Значение по умолчанию: false |
ignoreTrailingWhiteSpace Тип: Boolean Следует ли игнорировать конечные пробелы для каждого анализируемого значения. Значение по умолчанию: false |
inferSchema Тип: Boolean Указывает, следует ли вычислять типы данных проанализированных записей CSV, или предполагается, что все столбцы имеют тип StringType . Требует дополнительного прохода по данным, если задано значение true . Для автозагрузчика используйте cloudFiles.inferColumnTypes вместо этого.Значение по умолчанию: false |
lineSep Тип: String Строка между двумя последовательными записями CSV. Значение по умолчанию None (Нет) охватывает \r , \r\n и \n . |
locale Тип: String Идентификатор java.util.Locale . Влияет на синтаксический анализ даты, метки времени и десятичного разделителя по умолчанию в CSV-файле.Значение по умолчанию: US |
maxCharsPerColumn Тип: Int Максимальное число символов, ожидаемое в значении для синтаксического анализа. Можно использовать, чтобы избежать ошибок памяти. По умолчанию имеет значение -1 , что означает отсутствие ограничений.Значение по умолчанию: -1 |
maxColumns Тип: Int Фиксированное ограничение количества столбцов в записи. Значение по умолчанию: 20480 |
mergeSchema Тип: Boolean Следует ли выводить схему по нескольким файлам и объединять схему каждого файла. По умолчанию включено для автозагрузчика при выведении схемы. Значение по умолчанию: false |
mode Тип: String Режим средства синтаксического анализа для обработки неправильных записей. Возможные значения: 'PERMISSIVE' ,'DROPMALFORMED' и 'FAILFAST' .Значение по умолчанию: PERMISSIVE |
multiLine Тип: Boolean Занимает ли запись JSON несколько строк. Значение по умолчанию: false |
nanValue Тип: String Строковое представление значения, не являющегося числовым, при синтаксическом анализе столбцов FloatType и DoubleType .Значение по умолчанию: "NaN" |
negativeInf Тип: String Строковое представление отрицательной бесконечности при синтаксическом анализе столбцов FloatType или DoubleType .Значение по умолчанию: "-Inf" |
nullValue Тип: String Строковое представление значения NULL. Значение по умолчанию: "" |
parserCaseSensitive (не рекомендуется)Тип: Boolean Следует при чтении файлов ли выравнивать столбцы, объявленные в заголовке с учетом регистра в схеме. Это значение равно true по умолчанию для Автозагрузчика. Столбцы, отличающиеся регистром, будут доставляться в столбец rescuedDataColumn , если он включен. Вместо этого параметра рекомендуется использовать readerCaseSensitive .Значение по умолчанию: false |
positiveInf Тип: String Строковое представление положительной бесконечности при синтаксическом анализе столбцов FloatType или DoubleType .Значение по умолчанию: "Inf" |
preferDate Тип: Boolean Пытается вывести строки как даты вместо метки времени, когда это возможно. Кроме того, необходимо использовать вывод схемы, включив inferSchema или используя ее.cloudFiles.inferColumnTypes с автозагрузчиком.Значение по умолчанию: true |
quote Тип: Char Символ, используемый для экранирования значений, в которых разделитель полей является частью значения. Значение по умолчанию: " |
readerCaseSensitive Тип: Boolean Указывает поведение учета регистра при включении rescuedDataColumn . Если значение равно true, столбцы данных, имена которых отличаются по регистру от схемы, восстанавливаются; в противном случае данные считываются без учета регистра.Значение по умолчанию: true |
rescuedDataColumn Тип: String Следует ли собирать все данные, которые не могут быть проанализированы из-за несоответствия типов данных или несоответствия схем (включая регистр столбцов), в отдельный столбец. Этот столбец включен по умолчанию при использовании Автозагрузчика. Дополнительные сведения см. в статье "Что такое столбец спасенных данных?". Значение по умолчанию: нет |
sep или delimiter Тип: String Разделительная строка между столбцами. Значение по умолчанию: "," |
skipRows Тип: Int Количество строк с начала CSV-файла, которые следует игнорировать (включая комментарии и пустые строки). Если значение header равно true, заголовок будет первой строкой, которая не будет пропущена и раскомментирована.Значение по умолчанию: 0 |
timestampFormat Тип: String Формат для синтаксического анализа строк меток времени. Значение по умолчанию: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] |
timeZone Тип: String Объект java.time.ZoneId , используемый при анализе меток времени и дат.Значение по умолчанию: нет |
unescapedQuoteHandling Тип: String Стратегия обработки неэкранированных кавычек. Разрешенные варианты: - STOP_AT_CLOSING_QUOTE : если во входных данных найдены неэкранированные кавычки, накапливайте символ кавычки и продолжайте анализ значения в виде заключенного в кавычки значения, пока не будет найдена закрывающая кавычка.- BACK_TO_DELIMITER : если во входных данных обнаружены неэкранированные кавычки, рассматривать значение как значение без кавычек. Это позволит средству синтаксического анализа накапливать все символы текущего анализируемого значения до тех пор, пока не будет найден разделитель, определенный в sep . Если в значении разделитель обнаружен не будет, то средство синтаксического анализа продолжит накапливать символы из входных данных до тех пор, пока не будет найден разделитель или конец строки.- STOP_AT_DELIMITER : если во входных данных обнаружены неэкранированные кавычки, рассматривать значение как значение без кавычек. Это позволит средству синтаксического анализа накапливать все символы до тех пор, пока во входных данных не будет найден разделитель, определенный в sep , или символ конца строки.- SKIP_VALUE : если во входных данных обнаружены неэкранированные кавычки, содержимое, проанализированное для данного значения, будет пропущено (до тех пор, пока не будет найден следующий разделитель), а вместо этого будут созданы значения, заданные в параметре nullValue .- RAISE_ERROR : если во входных данных обнаружены неэкранированные кавычкивозникнет исключение TextParsingException .Значение по умолчанию: STOP_AT_DELIMITER |
XML
options
Вариант | Описание | Область действия |
---|---|---|
rowTag |
Тег строки XML-файлов, которые будут рассматриваться как строка. В примере XML <books> <book><book>...<books> соответствующее значение имеет значение book . Это обязательный параметр. |
чтение |
samplingRatio |
Определяет долю строк, используемых для вывода схемы. Встроенные функции XML игнорируют этот параметр. По умолчанию: 1.0 . |
чтение |
excludeAttribute |
Следует ли исключать атрибуты в элементах. По умолчанию: false . |
чтение |
mode |
Режим работы с поврежденными записями во время синтаксического анализа.PERMISSIVE : для поврежденных записей помещает недоформированную строку в поле, настроенное columnNameOfCorruptRecord и задает неправильно сформированные поля null . Чтобы сохранить поврежденные записи, можно задать string поле типа с именем columnNameOfCorruptRecord в определяемой пользователем схеме. Если в схеме нет поля, во время синтаксического анализа удаляются поврежденные записи. При выводе схемы средство синтаксического анализа неявно добавляет columnNameOfCorruptRecord поле в выходную схему.DROPMALFORMED : игнорирует поврежденные записи. Этот режим не поддерживается для встроенных функций XML.FAILFAST : создает исключение, когда средство синтаксического анализа соответствует поврежденным записям. |
чтение |
inferSchema |
Если true , пытается определить соответствующий тип для каждого результирующего столбца DataFrame. Если false результирующий столбец является типом string . По умолчанию:true . Встроенные функции XML игнорируют этот параметр. |
чтение |
columnNameOfCorruptRecord |
Позволяет переименовать новое поле, содержащее неправильно сформированную строку, созданнуюPERMISSIVE режим. По умолчанию: spark.sql.columnNameOfCorruptRecord . |
чтение |
attributePrefix |
Префикс атрибутов для отличия атрибутов от элементов. Это будет префикс для имен полей. По умолчанию — _ . Может быть пустым для чтения XML, но не для записи. |
чтение, запись |
valueTag |
Тег, используемый для символьных данных в элементах, которые также имеют атрибуты или дочерние элементы. Пользователь может указать valueTag поле в схеме или автоматически добавляться во время вывода схемы, когда символьные данные присутствуют в элементах с другими элементами или атрибутами. По умолчанию: _VALUE |
чтение, запись |
encoding |
Для чтения декодирует XML-файлы по заданному типу кодирования. Для записи задает кодировку (charset) сохраненных XML-файлов. Встроенные функции XML игнорируют этот параметр. По умолчанию: UTF-8 . |
чтение, запись |
ignoreSurroundingSpaces |
Определяет, следует ли пропускать окружающие пробелы из считываемых значений. По умолчанию: true . Данные символов, доступные только для пробелов, игнорируются. |
чтение |
rowValidationXSDPath |
Путь к необязательному XSD-файлу, который используется для проверки XML для каждой строки по отдельности. Строки, которые не удается проверить, обрабатываются как ошибки синтаксического анализа, как описано выше. XSD не влияет на указанную схему или вывод. | чтение |
ignoreNamespace |
Если true префиксы пространств имен для XML-элементов и атрибутов игнорируются. Теги <abc:author> и <def:author> , например, рассматриваются как только <author> оба. Пространства имен нельзя игнорировать в элементе rowTag , только его дочерние элементы чтения. Синтаксический анализ XML не учитывает пространство имен, даже если false . По умолчанию: false . |
чтение |
timestampFormat |
Настраиваемая строка формата метки времени, которая соответствует формату шаблона datetime. Это относится к типу timestamp . По умолчанию: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] . |
чтение, запись |
timestampNTZFormat |
Строка настраиваемого формата для метки времени без часового пояса, которая соответствует формату шаблона datetime. Это относится к типу TimestampNTZType. По умолчанию:yyyy-MM-dd'T'HH:mm:ss[.SSS] |
чтение, запись |
dateFormat |
Строка настраиваемого формата даты, которая соответствует формату шаблона datetime. Это относится к типу date. По умолчанию: yyyy-MM-dd . |
чтение, запись |
locale |
Задает языковой стандарт в виде тега языка в формате IETF BCP 47. Например, locale используется при анализе дат и меток времени. По умолчанию: en-US . |
чтение |
rootTag |
Корневой тег XML-файлов. Например, в <books> <book><book>...</books> , соответствующее значение имеет значение books . Можно включить базовые атрибуты, указав такое books foo="bar" значение. По умолчанию: ROWS . |
запись |
declaration |
Содержимое объявления XML для записи в начале каждого выходного XML-файла до rootTag . Например, значение foo причин <?xml foo?> записи. Задайте для подавления пустую строку. По умолчанию: version="1.0" encoding="UTF-8" standalone="yes" . |
запись |
arrayElementName |
Имя XML-элемента, который заключает каждый элемент столбца с значением массива при записи. По умолчанию: item . |
запись |
nullValue |
Задает строковое представление значения NULL. Значение по умолчанию: строка null . При этом null средство синтаксического анализа не записывает атрибуты и элементы для полей. |
чтение, запись |
compression |
Код сжатия, используемый при сохранении в файл. Это может быть одно из известных имен без учета регистра (none , , bzip2 , gzip lz4 и snappy deflate ). Встроенные функции XML игнорируют этот параметр. По умолчанию: none . |
запись |
validateName |
Если значение true, вызывает ошибку при проверке имени XML-элемента. Например, имена полей SQL могут иметь пробелы, но имена XML-элементов не могут. По умолчанию:true . |
запись |
readerCaseSensitive |
Указывает поведение конфиденциальности регистра при включенном параметре rescuedDataColumn. Если значение равно true, столбцы данных, имена которых отличаются по регистру от схемы, восстанавливаются; в противном случае данные считываются без учета регистра. По умолчанию: true . |
чтение |
rescuedDataColumn |
Следует ли собирать все данные, которые нельзя проанализировать из-за несоответствия типов данных и несоответствия схемы (включая регистр столбцов) отдельному столбцу. Этот столбец включен по умолчанию при использовании Автозагрузчика. Дополнительные сведения см. в разделе "Что такое спасенных столбцов данных?". Значение по умолчанию: нет. | чтение |
PARQUET
options
Вариант |
---|
datetimeRebaseMode Тип: String Управляет преобразованием значений DATE и TIMESTAMP между юлианским и григорианским календарями. Допустимые значения: EXCEPTION , LEGACY иCORRECTED .Значение по умолчанию: LEGACY |
int96RebaseMode Тип: String Управляет преобразованием значений временной метки INT96 между юлианским и григорианским календарями. Допустимые значения: EXCEPTION , LEGACY иCORRECTED .Значение по умолчанию: LEGACY |
mergeSchema Тип: Boolean Следует ли выводить схему по нескольким файлам и объединять схему каждого файла. Значение по умолчанию: false |
readerCaseSensitive Тип: Boolean Указывает поведение учета регистра при включении rescuedDataColumn . Если значение равно true, столбцы данных, имена которых отличаются по регистру от схемы, восстанавливаются; в противном случае данные считываются без учета регистра.Значение по умолчанию: true |
rescuedDataColumn Тип: String Следует ли собирать все данные, которые не могут быть проанализированы из-за несоответствия типов данных или несоответствия схем (включая регистр столбцов), в отдельный столбец. Этот столбец включен по умолчанию при использовании Автозагрузчика. Дополнительные сведения см. в статье "Что такое столбец спасенных данных?". Значение по умолчанию: нет |
AVRO
options
Вариант |
---|
avroSchema Тип: String Необязательная схема, предоставляемая пользователем в формате Avro. При чтении Avro для этого параметра можно задать развитую схему, которая совместима со схемой Avro, но отличается от нее. Схема десериализации будет соответствовать развитой схеме. Например, если задать развитую схему, содержащую один дополнительный столбец со значением по умолчанию, то результат чтения будет содержать новый столбец. Значение по умолчанию: нет |
datetimeRebaseMode Тип: String Управляет преобразованием значений DATE и TIMESTAMP между юлианским и григорианским календарями. Допустимые значения: EXCEPTION , LEGACY иCORRECTED .Значение по умолчанию: LEGACY |
mergeSchema Тип: Boolean Следует ли выводить схему по нескольким файлам и объединять схему каждого файла. mergeSchema для Avro не ослабляет типы данных.Значение по умолчанию: false |
readerCaseSensitive Тип: Boolean Указывает поведение учета регистра при включении rescuedDataColumn . Если значение равно true, столбцы данных, имена которых отличаются по регистру от схемы, восстанавливаются; в противном случае данные считываются без учета регистра.Значение по умолчанию: true |
rescuedDataColumn Тип: String Следует ли собирать все данные, которые не могут быть проанализированы из-за несоответствия типов данных или несоответствия схем (включая регистр столбцов), в отдельный столбец. Этот столбец включен по умолчанию при использовании Автозагрузчика. Дополнительные сведения см. в статье "Что такое столбец спасенных данных?". Значение по умолчанию: нет |
BINARYFILE
options
Двоичные файлы не имеют дополнительных параметров конфигурации.
TEXT
options
Вариант |
---|
encoding Тип: String Имя кодировки текстовых файлов. Список вариантов см. в java.nio.charset.Charset .Значение по умолчанию: UTF-8 |
lineSep Тип: String Строка между двумя последовательными текстовыми записями. Значение по умолчанию None (Нет) охватывает \r , \r\n и \n . |
wholeText Тип: Boolean Следует ли считывать файл как одну запись. Значение по умолчанию: false |
ORC
options
Вариант |
---|
mergeSchema Тип: Boolean Следует ли выводить схему по нескольким файлам и объединять схему каждого файла. Значение по умолчанию: false |
Параметры, относящиеся к облаку
Автозагрузчик предоставляет ряд вариантов для настройки облачной инфраструктуры.
Параметры, относящиеся к AWS
Укажите следующий параметр, только если вы выбрали cloudFiles.useNotifications
= true
и хотите, чтобы Автозагрузчик настроил службы уведомлений.
Вариант |
---|
cloudFiles.region Тип: String Регион, в котором находится исходный контейнер S3, и где будут созданы службы AWS SNS и SQS. Значение по умолчанию: область экземпляра EC2. |
Укажите следующий параметр, только если вы выбрали cloudFiles.useNotifications
= true
и хотите, чтобы Автозагрузчик использовал уже настроенную вами очередь.
Вариант |
---|
cloudFiles.queueUrl Тип: String URL-адрес очереди SQS. Если этот параметр указан, Автозагрузчик напрямую использует события из этой очереди вместо настройки собственных служб AWS SNS и SQS. Значение по умолчанию: нет |
Вы можете использовать следующие параметры, чтобы предоставить учетные данные для доступа к AWS SNS и SQS, когда роли IAM недоступны или когда вы принимаете данные из разных облаков.
Вариант |
---|
cloudFiles.awsAccessKey Тип: String Идентификатор ключа доступа AWS для пользователя. Должен быть указан с помощью cloudFiles.awsSecretKey .Значение по умолчанию: нет |
cloudFiles.awsSecretKey Тип: String Секретный ключ доступа AWS для пользователя. Должен быть указан с помощью cloudFiles.awsAccessKey .Значение по умолчанию: нет |
cloudFiles.roleArn Тип: String ARN роли IAM, которую необходимо принять. Роль может быть принята из профиля экземпляра кластера или путем предоставления учетных данных с помощью cloudFiles.awsAccessKey и cloudFiles.awsSecretKey .Значение по умолчанию: нет |
cloudFiles.roleExternalId Тип: String Идентификатор, предоставляемый при принятии роли с помощью cloudFiles.roleArn .Значение по умолчанию: нет |
cloudFiles.roleSessionName Тип: String Необязательное имя сеанса, используемое при принятии роли с помощью cloudFiles.roleArn .Значение по умолчанию: нет |
cloudFiles.stsEndpoint Тип: String Необязательная конечная точка, предоставляемая для доступа к AWS STS при принятии роли с помощью cloudFiles.roleArn .Значение по умолчанию: нет |
Параметры, относящиеся к Azure
Необходимо указать значения для всех следующих параметров, если вы указали cloudFiles.useNotifications
= true
и хотите, чтобы Автозагрузчик настроил службы уведомлений:
Вариант |
---|
cloudFiles.clientId Тип: String Идентификатор клиента или приложения субъекта-службы. Значение по умолчанию: нет |
cloudFiles.clientSecret Тип: String Секрет клиента субъекта-службы. Значение по умолчанию: нет |
cloudFiles.connectionString Тип: String Строка подключения для учетной записи хранения, основанная на ключе доступа к учетной записи или подписанном URL-адресе (SAS). Значение по умолчанию: нет |
cloudFiles.resourceGroup Тип: String Группа ресурсов Azure, под которой создается учетная запись хранения. Значение по умолчанию: нет |
cloudFiles.subscriptionId Тип: String Идентификатор подписки Azure, под которым создается группа ресурсов. Значение по умолчанию: нет |
cloudFiles.tenantId Тип: String Идентификатор клиента Azure, под которым создается субъект-служба. Значение по умолчанию: нет |
Внимание
Автоматическая настройка уведомлений доступна в регионах Azure для Китая и Azure для государственных организаций с помощью Databricks Runtime 9.1 и более поздних версий. Для более старых версий DBR необходимо указать queueName
, чтобы использовать Автозагрузчик с уведомлениями о файлах в этих регионах.
Укажите следующий параметр, только если вы выбрали cloudFiles.useNotifications
= true
и хотите, чтобы Автозагрузчик использовал уже настроенную вами очередь.
Вариант |
---|
cloudFiles.queueName Тип: String Имя очереди Azure. Если этот параметр указан, источник облачных файлов напрямую использует события из этой очереди, а не настраивает собственные службы сетки событий и хранилища очередей Azure. В этом случае для вашего cloudFiles.connectionString требуются только разрешения на чтение в очереди.Значение по умолчанию: нет |
Параметры, относящиеся к Google
Автозагрузчик может автоматически настроить службы уведомлений, используя учетные записи службы Google. Вы можете настроить в кластере учетную запись службы, следуя указаниям в разделе Настройка службы Google. Разрешения, необходимые вашей учетной записи службы, указаны в режиме уведомления файлов автозагрузчика?. В противном случае можно указать следующие параметры проверки подлинности, если вы хотите, чтобы Автозагрузчик настроил службы уведомлений.
Вариант |
---|
cloudFiles.client Тип: String Идентификатор клиента учетной записи службы Google. Значение по умолчанию: нет |
cloudFiles.clientEmail Тип: String Адрес электронной почты учетной записи службы Google. Значение по умолчанию: нет |
cloudFiles.privateKey Тип: String Закрытый ключ, созданный для учетной записи службы Google. Значение по умолчанию: нет |
cloudFiles.privateKeyId Тип: String Идентификатор закрытого ключа, созданного для учетной записи службы Google. Значение по умолчанию: нет |
cloudFiles.projectId Тип: String Идентификатор проекта, в котором находится контейнер GCS. В рамках этого проекта будет также создана подписка службы публикации/подписки Google Cloud. Значение по умолчанию: нет |
Укажите следующий параметр, только если вы выбрали cloudFiles.useNotifications
= true
и хотите, чтобы Автозагрузчик использовал уже настроенную вами очередь.
Вариант |
---|
cloudFiles.subscription Тип: String Имя подписки Google Cloud PubSub. Если этот параметр указан, источник облачных файлов использует события из этой очереди вместо настройки собственных служб уведомлений GCS и публикации/подписки Google Cloud. Значение по умолчанию: нет |