Поделиться через


COPY INTO

Область применения:флажок Databricks SQL флажок Databricks Runtime

Загружает данные из файлового местоположения в таблицу Delta. Это операция, повторение которой допустимо и не изменяет результат. Файлы в исходной папке, которые уже загружены, пропускаются. Это верно, даже если файлы были изменены с момента их загрузки. Примеры см. в статье Распространенные шаблоны загрузки данных с помощью COPY INTO.

Синтаксис

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

Параметры

  • target_table

    Определяет существующую таблицу Delta. Целевая таблица не должна включать темпоральную спецификацию или спецификацию опций.

    Если имя таблицы указано в виде местоположения, например delta.`/path/to/table` , каталог Unity может осуществлять управление доступом к местам, в которые ведется запись. Вы можете выполнить запись во внешнее расположение, выполнив следующие действия:

    • Определите расположение как внешнее и предоставьте разрешения WRITE FILES для него.

    • Иметь разрешения WRITE FILES на именованные учетные данные хранилища, которые предоставляют авторизацию для записи в расположение с помощью COPY INTO delta.`/some/location` WITH (CREDENTIAL <named-credential>).

    Дополнительные сведения см. в статье "Подключение к облачному хранилищу объектов и службам с помощью каталога Unity".

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

    Сопоставляет исходные столбцы с целевыми столбцами таблицы по порядковой позиции. Приведение типов соответствующих столбцов выполняется автоматически.

    Этот параметр поддерживается только для формата CSV-файла без заголовков. Необходимо указать FILEFORMAT = CSV. FORMAT_OPTIONS также должно быть задано значение ("headers" = "false") (FORMAT_OPTIONS ("headers" = "false") значение по умолчанию).

    Вариант синтаксиса 1. BY POSITION

    • Сопоставляет исходные столбцы с целевыми столбцами таблицы по порядковой позиции автоматически.
      • Сопоставление имен по умолчанию не используется для сопоставления.
      • IDENTITY столбцы и GENERATED столбцы целевой таблицы игнорируются при сопоставлении исходных столбцов.
      • Если число исходных столбцов не равно отфильтрованным целевым столбцам таблицы, COPY INTO возникает ошибка.

    Вариант синтаксиса 2. ( col_name [ , <col_name> ... ] )

    • Сопоставляет исходные столбцы с указанными столбцами целевой таблицы относительной порядковой позицией, используя список имен столбцов целевой таблицы в скобках, разделенных запятыми.
      • Исходный порядок столбцов таблицы и имена столбцов не используются для сопоставления.
      • IDENTITY и GENERATED столбцы не могут быть указаны в списке имён, в противном случае COPY INTO вызовет ошибку.
      • Указанные столбцы нельзя дублировать.
      • Если число исходных столбцов не равно указанным столбцам таблицы, COPY INTO возникает ошибка.
      • Для столбцов, не указанных в списке имен столбцов, COPY INTO присваивает значения по умолчанию, если таковые имеются, и в противном случае присваивает NULL. Если какой-либо столбец не допускает значения NULL, COPY INTO вызывает ошибку.
  • source

    Расположение файлов, из которых нужно загрузить данные. Файлы в этом расположении должны быть в формате, заданном с помощью параметра FILEFORMAT. Расположение предоставляется в виде URI.

    Доступ к исходному расположению можно предоставить следующим образом:

    • credential_name

      Необязательное имя учетных данных, используемое для доступа к месту хранения или записи в него. Эти учетные данные используются только если местоположение файла не включено во внешнее местоположение. См. credential_name.

    • Встроенные временные учетные данные.

    • Определение местоположения исходных данных как внешнего расположения и наличие разрешений READ FILES на внешнее расположение через Unity Catalog.

    • С помощью определенных учетных данных хранилища с разрешениями READ FILES, предоставляющих авторизацию для чтения данных из указанного местоположения через Unity Catalog.

    Вам не нужно предоставлять встроенные или именованные учетные данные, если путь уже определен как внешний ресурс, который у вас есть разрешение на использование. Дополнительные сведения см. в статье "Создание внешнего расположения для подключения облачного хранилища к Azure Databricks ".

    Примечание.

    Если путь к исходному файлу является корневым путем, добавьте косую черту (/) в конце, например s3://my-bucket/.

    Допустимые варианты учетных данных:

    • AZURE_SAS_TOKEN для ADLS Gen2 и объектного хранилища Azure;
    • AWS_ACCESS_KEY, AWS_SECRET_KEY и AWS_SESSION_TOKEN для AWS S3.

    Допустимые варианты шифрования:

    • TYPE = 'AWS_SSE_C' и MASTER_KEY для AWS S3.

См. загрузку данных с помощью COPY INTO с временными учетными данными.

  • SELECT expression_list

    Выбирает указанные столбцы или выражения из исходных данных, прежде чем копировать их в разностную таблицу. Выражения могут быть любыми, которые вы используете с инструкциями SELECT, включая операции с окнами. Вы можете использовать статистические выражения только для глобальных агрегатов — нельзя применять GROUP BY к столбцам с этим синтаксисом.

  • FILEFORMAT = data_source

    Формат загружаемых исходных файлов. Один из CSV, JSON, AVRO, ORC, PARQUET, TEXT, BINARYFILE.

  • VALIDATE

    Область применения:флажок Databricks SQL флажок Databricks Runtime 10.4 LTS и выше

    Данные, загружаемые в таблицу, проверяются, но не записываются в таблицу. Эти проверки включают:

    • Можно ли анализировать данные.
    • Соответствует ли схема таблице, или требуется доработка схемы.
    • Соблюдены ли все ограничения допустимости нулевых значений и проверочные ограничения.

    По умолчанию выполняется проверка всех загружаемых данных. Можно указать число строк, которые нужно проверить, используя ключевое слово ROWS, например VALIDATE 15 ROWS. Оператор COPY INTO возвращает предварительный просмотр данных, содержащий 50 строк или меньше, если с ключевым словом ROWS используется число меньше 50.

  • FILES

    Список имен файлов для загрузки с ограничением в 1000 файлов. Не может быть указано с PATTERN.

  • PATTERN

    Шаблон, определяющий файлы, которые нужно загрузить из исходного каталога. Не может быть указано с FILES.

    Расписание Описание
    ? Соответствует любому одиночному символу
    * Соответствует нулю или более символам
    [abc] Соответствует одиночному символу из кодировки {a, b, c}.
    [a-z] Соответствует одиночному символу из диапазона символов {a…z}.
    [^a] Соответствует одиночному символу, который не относится к кодировке или диапазону символов {a}. Обратите внимание, что символ ^ должен стоять непосредственно справа от открывающей скобки.
    {ab,cd} Соответствует строке из набора строк {ab, cd}.
    {ab,c{de, fh}} Соответствует строке из набора строк {ab, cde, cfh}.
  • FORMAT_OPTIONS

    Параметры, передаваемые модулю чтения источника данных Apache Spark для указанного формата. См. раздел Параметры формата для каждого формата файлов.

  • COPY_OPTIONS

    Параметры для управления командой COPY INTO.

    • force — логическое значение, по умолчанию false. Если задано значение true, идемпотентность отключается и файлы загружаются независимо от того, были ли они загружены ранее.
    • mergeSchema — логическое значение, по умолчанию false. Если задано значение true, схема может развиваться в соответствии с входящими данными.

Вызвать COPY INTO одновременно

COPY INTO поддерживает одновременные вызовы к одной таблице. Если COPY INTO вызывается параллельно для отдельных наборов входных файлов, каждый вызов в конечном итоге должен завершиться успешно, в противном случае вы получите конфликт транзакций. COPY INTO не следует вызывать одновременно для повышения производительности; Одна COPY INTO команда с несколькими файлами обычно выполняется лучше, чем выполнение параллельных COPY INTO команд с одним файлом. COPY INTO можно вызывать одновременно, когда:

  • У нескольких производителей данных нет простого способа координации и не может сделать один вызов.
  • Когда очень большой каталог может быть обработан подкаталог за подкаталогом. При приеме каталогов с очень большим количеством файлов Databricks рекомендует использовать автозагрузчик по возможности.

Доступ к метаданным файла

Дополнительные сведения о доступе к метаданным для источников данных на основе файлов см. в статье Столбец метаданных файла.

Параметры формата

Универсальные параметры

Следующие параметры применяются ко всем форматам файлов.

Вариант
ignoreCorruptFiles
Тип: Boolean
Определяет, следует ли игнорировать поврежденные файлы. Если задано значение true, задания Spark будут продолжать выполняться при обнаружении поврежденных файлов, а прочитанное содержимое будет возвращено. Наблюдаемое как numSkippedCorruptFiles в
в столбце истории Delta Lake operationMetrics. Доступно в 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 параметры

Вариант
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 вместо типа float или double, когда это возможно. Кроме того, также необходимо использовать вывод схемы, например, путем его включения.
inferSchema или использовать cloudFiles.inferColumnTypes с автозагрузчиком.
Значение по умолчанию: false
primitivesAsString
Тип: Boolean
Следует ли детерминировать примитивные типы, такие как числа и логические значения, как StringType.
Значение по умолчанию: false
readerCaseSensitive
Тип: Boolean
Указывает поведение чувствительности к регистру при включении rescuedDataColumn. Если значение равно true, столбцы данных, имена которых отличаются по регистру от схемы, восстанавливаются; в противном случае данные считываются без учета регистра. Доступно в Databricks Runtime
13.3 и выше.
Значение по умолчанию: true
rescuedDataColumn
Тип: String
Следует ли собирать все данные, которые не могут быть проанализированы из-за несоответствия типов данных или несоответствия схем (включая регистр столбцов), в отдельный столбец. Этот столбец включен по умолчанию при использовании Автозагрузчика. Дополнительные сведения см. в разделе "Что такое столбец спасенных данных?".
COPY INTO (устаревшая версия) не поддерживает спасательный столбец данных, так как невозможно вручную задать схему с помощью COPY INTO. Databricks рекомендует использовать Auto Loader для большинства сценариев загрузки.
Значение по умолчанию: нет
singleVariantColumn
Тип: String
Следует ли импортировать весь JSON-документ, преобразованный в один столбец Variant с использованием заданной строки в качестве имени столбца. Если отключено, поля JSON будут загружены в отдельные столбцы.
Значение по умолчанию: нет
timestampFormat
Тип: String
Формат для синтаксического анализа строк меток времени.
Значение по умолчанию: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]
timeZone
Тип: String
Элемент java.time.ZoneId, используемый при разборе меток времени и дат.
Значение по умолчанию: нет

CSV параметры

Вариант
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
Являются ли записи CSV многострочными.
Значение по умолчанию: 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
Следует ли собирать все данные, которые не могут быть проанализированы из-за несоответствия типов данных или несоответствия схем (включая регистр столбцов), в отдельный столбец. Этот столбец включен по умолчанию при использовании Автозагрузчика. Дополнительные сведения см. в статье "Что такое столбец спасенных данных?".
COPY INTO (устаревшая версия) не поддерживает спасательный столбец данных, так как невозможно вручную задать схему с помощью COPY INTO. Databricks рекомендует использовать Auto Loader для большинства сценариев загрузки.
Значение по умолчанию: нет
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 параметры

Вариант Описание Область действия
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 Настраиваемая строка формата метки времени, которая соответствует формату шаблона даты и времени. Это относится к типу timestamp . По умолчанию: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]. чтение, запись
timestampNTZFormat Строка настраиваемого формата для метки времени без часового пояса, которая соответствует формату шаблона datetime. Это относится к типу TimestampNTZType. По умолчанию:
yyyy-MM-dd'T'HH:mm:ss[.SSS]
чтение, запись
dateFormat Строка настраиваемого формата даты, которая соответствует шаблону формата datetime. Это относится к типу данных "дата". По умолчанию: 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 Следует ли собирать все данные, которые нельзя проанализировать из-за несоответствия типов данных и несоответствия схемы (включая регистр столбцов) отдельному столбцу. Этот столбец включен по умолчанию при использовании Автозагрузчика. Дополнительные сведения см. в разделе "Что такое столбец спасённых данных?".
COPY INTO (устаревшая версия) не поддерживает спасательный столбец данных, так как невозможно вручную задать схему с помощью COPY INTO. Databricks рекомендует использовать Auto Loader для большинства сценариев загрузки.
Значение по умолчанию: нет.
читать

PARQUET параметры

Вариант
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
Следует ли собирать все данные, которые не могут быть проанализированы из-за несоответствия типов данных или несоответствия схем (включая регистр столбцов), в отдельный столбец. Этот столбец включен по умолчанию при использовании Автозагрузчика. Дополнительные сведения см. в статье "Что такое столбец спасенных данных?".
COPY INTO (устаревшая версия) не поддерживает спасательный столбец данных, так как невозможно вручную задать схему с помощью COPY INTO. Databricks рекомендует использовать Auto Loader для большинства сценариев загрузки.
Значение по умолчанию: нет

AVRO параметры

Вариант
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
Следует ли собирать все данные, которые не могут быть проанализированы из-за несоответствия типов данных или несоответствия схем (включая регистр столбцов), в отдельный столбец. Этот столбец включен по умолчанию при использовании Автозагрузчика.
COPY INTO (устаревшая версия) не поддерживает спасательный столбец данных, так как невозможно вручную задать схему с помощью COPY INTO. Databricks рекомендует использовать Auto Loader для большинства сценариев загрузки.
Дополнительные сведения см. в статье "Что такое столбец спасенных данных?".
Значение по умолчанию: нет

BINARYFILE параметры

Двоичные файлы не имеют дополнительных параметров конфигурации.

TEXT параметры

Вариант
encoding
Тип: String
Имя кодировки текстовых файлов. Список вариантов см. в java.nio.charset.Charset.
Значение по умолчанию: UTF-8
lineSep
Тип: String
Строка между двумя последовательными текстовыми записями.
Значение по умолчанию None (Нет) охватывает \r, \r\n и \n.
wholeText
Тип: Boolean
Следует ли считывать файл как одну запись.
Значение по умолчанию: false

ORC параметры

Вариант
mergeSchema
Тип: Boolean
Следует ли выводить схему по нескольким файлам и объединять схему каждого файла.
Значение по умолчанию: false