Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: Databricks SQL
Databricks Runtime 13.3 LTS и выше
Считывает файлы в заданном расположении и возвращает данные в табличной форме.
Поддерживает чтениеJSON
, CSV
, XML
TEXT
BINARYFILE
PARQUET
AVRO
и ORC
форматы файлов.
Может автоматически обнаруживать формат файла и выводить единую схему во всех файлах.
Синтаксис
read_files(path [, option_key => option_value ] [...])
Аргументы
Для этой функции требуется вызов с использованием именованных параметров для ключей опций.
-
path
: ОбъектSTRING
с URI, указывающим на расположение данных. Поддерживает чтение из Azure Data Lake Storage ('abfss://'
), S3 (s3://
) и Google Cloud Storage ('gs://'
). Может содержать глобы. Дополнительные сведения см. в статье об обнаружении файлов. -
option_key
: имя параметра для настройки. Необходимо использовать обратные кавычки () for options that contain dots (
.`). -
option_value
: константное выражение для задания параметра. Принимает литералы и скалярные функции.
Возвраты
Таблица, состоящая из данных из файлов, считываемых при заданном условии path
.
Обнаружение файлов
read_files
может считывать отдельный файл или считывать файлы в предоставленном каталоге.
read_files
обнаруживает все файлы в предоставленном каталоге рекурсивно, если не указан глоб, который указывает read_files
выполнять рекурсию в соответствующий шаблон директории.
Фильтрация каталогов или файлов с помощью шаблонов glob
Для фильтрации каталогов и файлов можно использовать глоб-шаблоны, если они указаны в пути.
Расписание | Описание |
---|---|
? |
Соответствует любому одиночному символу |
* |
Соответствует нулю или более символам |
[abc] |
Соответствует одиночному символу из кодировки {a, b, c}. |
[a-z] |
Соответствует одиночному символу из диапазона символов {a…z}. |
[^a] |
Соответствует одиночному символу, который не относится к кодировке или диапазону символов {a}. Обратите внимание, что символ ^ должен стоять непосредственно справа от открывающей скобки. |
{ab,cd} |
Соответствует строке из набора строк {ab, cd}. |
{ab,c{de, fh}} |
Соответствует строке из набора строк {ab, cde, cfh}. |
read_files
при обнаружении файлов с помощью глобов используется строгий глобер автозагрузчика. Это настраивается параметром useStrictGlobber
. Если строгий глоббер отключен, конечные косые черты (/
) удаляются, и шаблон со звездочкой, такой как /*/
, может расшириться при обнаружении нескольких каталогов. Ознакомьтесь с приведенными ниже примерами, чтобы увидеть разницу в поведении.
Расписание | Путь к файлу | Строгий режим глоббера отключен | Включен строгий шаблонный фильтр |
---|---|---|---|
/a/b |
/a/b/c/file.txt |
Да | Да |
/a/b |
/a/b_dir/c/file.txt |
Нет | Нет |
/a/b |
/a/b.txt |
Нет | Нет |
/a/b/ |
/a/b.txt |
Нет | Нет |
/a/*/c/ |
/a/b/c/file.txt |
Да | Да |
/a/*/c/ |
/a/b/c/d/file.txt |
Да | Да |
/a/*/d/ |
/a/b/c/d/file.txt |
Да | Нет |
/a/*/c/ |
/a/b/x/y/c/file.txt |
Да | Нет |
/a/*/c |
/a/b/c_file.txt |
Да | Нет |
/a/*/c/ |
/a/b/c_file.txt |
Да | Нет |
/a/*/c |
/a/b/cookie/file.txt |
Да | Нет |
/a/b* |
/a/b.txt |
Да | Да |
/a/b* |
/a/b/file.txt |
Да | Да |
/a/{0.txt,1.txt} |
/a/0.txt |
Да | Да |
/a/*/{0.txt,1.txt} |
/a/0.txt |
Нет | Нет |
/a/b/[cde-h]/i/ |
/a/b/c/i/file.txt |
Да | Да |
Вывод схемы
Схема файлов может быть явно предоставлена read_files
с помощью параметра schema
. Если схема не указана, read_files
пытается определить единую схему в обнаруженных файлах, которая требует считывания всех файлов, если LIMIT
инструкция не используется. Даже при использовании запроса LIMIT
, может быть прочитан больший набор файлов, чем требуется, для получения более репрезентативной схемы данных. Databricks автоматически добавляет инструкцию LIMIT
для SELECT
запросов в записных книжках и редакторе SQL, если пользователь не предоставил его.
Этот schemaHints
параметр можно использовать для исправления подмножеств выводимой схемы. Дополнительные сведения см. в разделе Переопределение определения схемы с помощью подсказок схемы.
По умолчанию rescuedDataColumn
предоставляется для восстановления любых данных, которые не соответствуют схеме. Дополнительные сведения см. в разделе "Что такое спасённые столбцы данных?" Вы можете удалить rescuedDataColumn
, задав параметр schemaEvolutionMode => 'none'
.
Вывод схемы секционирования
read_files
также может выводить столбцы секционирования, если файлы хранятся в секционированных каталогах в стиле Hive, то есть /column_name=column_value/
. Если предоставлено schema
, обнаруженные столбцы разделов используют типы, указанные в schema
. Если столбцы разделов не являются частью предоставленного schema
, то определяемые столбцы разделов игнорируются.
Если столбец существует как в схеме секции, так и в столбцах данных, значение, считываемое из значения секции, используется вместо значения данных. Если вы хотите игнорировать значения, поступающие из каталога, и использовать столбец данных, можно указать список столбцов секций в разделенном запятыми списке с параметром partitionColumns
.
Этот partitionColumns
параметр также можно использовать для указания read_files
того, какие обнаруженные столбцы должны включаться в окончательную выводную схему. Предоставление пустой строки игнорирует все столбцы секционирования.
Также можно указать опцию schemaHints
, чтобы переопределить выведенную схему для столбца секционирования.
У TEXT
и BINARYFILE
форматов есть фиксированная схема, но read_files
и пытается определить секционирование для этих форматов, когда это возможно.
Использование в потоковых таблицах
read_files
можно использовать в потоковых таблицах для импорта файлов в Delta Lake.
read_files
использует Auto Loader в запросе потоковой таблицы. Необходимо использовать ключевое слово STREAM
с read_files
. Дополнительные сведения см. в разделе "Что такое автозагрузчик".
При использовании в потоковом запросе read_files
используется образец данных для вывода схемы и может развивать схему по мере обработки дополнительных данных. Дополнительные сведения см. в разделе Настройка конфигурации вывода и процесса эволюции схемы в Auto Loader.
Настройки
- Базовые параметры
- Универсальные параметры
-
Параметры
JSON
-
Параметры
CSV
-
Параметры
XML
-
Параметры
PARQUET
-
Параметры
AVRO
-
Параметры
BINARYFILE
-
Параметры
TEXT
-
Параметры
ORC
- Параметры потоковой передачи
Основные параметры
Вариант |
---|
format Тип: String Формат файла данных в исходном пути. Автоматически выводится, если не указано. Допустимые значения:
Значение по умолчанию: нет |
inferColumnTypes Тип: Boolean Следует ли выводить точные типы столбцов при использовании вывода схемы. По умолчанию столбцы определяются при интерпретации наборов данных JSON и CSV. Дополнительные сведения см. в разделе Вывод схемы. Обратите внимание, что это противоположность режима по умолчанию "Auto Loader". Значение по умолчанию: true |
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 .Значение по умолчанию: нет |
schemaHints Тип: String Сведения о схеме, которые вы предоставляете Автозагрузчику при автоматическом определении схемы. Дополнительные сведения см. в разделе Указания для схемы. Значение по умолчанию: нет |
useStrictGlobber Тип: Boolean Следует ли использовать строгий режим глоббинга, соответствующий поведению глоббинга других источников файлов по умолчанию в Apache Spark. См. об общих шаблонах загрузки данных для получения дополнительных сведений. Доступно в Databricks Runtime 12.2 LTS и более поздних версиях. Обратите внимание, что это противоположно настройке по умолчанию для Автозагрузчика. Значение по умолчанию: true |
Общие параметры
Следующие параметры применяются ко всем форматам файлов.
Вариант |
---|
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 Этот параметр выполняет поиск по вложенным каталогам, даже если их имена не соответствуют схеме именования секций, например date=2019-07-01. Значение по умолчанию: 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. badRecordsPath Использование параметра в источнике данных на основе файлов имеет следующие ограничения:
Значение по умолчанию: нет |
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 Runtime13.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 ] :
Значение по умолчанию: '\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_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 pattern. Это относится к типу даты. По умолчанию: 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 для большинства сценариев загрузки.Значение по умолчанию: нет. |
читай |
singleVariantColumn |
Указывает имя одного варианта столбца. Если эта опция указана для чтения, выполнить разбор всей записи XML в один столбец типа Variant, используя заданное строковое значение опции в качестве его названия. Если этот параметр предоставляется для записи, напишите значение одного столбца Variant в XML-файлы. По умолчанию: none . |
чтение, запись |
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 .Содержимое файла не затрагивается этим параметром и считывается as-is. Значение по умолчанию: UTF-8 |
lineSep Тип: String Строка между двумя последовательными текстовыми записями. Значение по умолчанию None (Нет) охватывает \r , \r\n и \n . |
wholeText Тип: Boolean Следует ли считывать файл как одну запись. Значение по умолчанию: false |
ORC
варианты
Вариант |
---|
mergeSchema Тип: Boolean Следует ли определять схему на основе нескольких файлов и объединять схемы каждого файла. Значение по умолчанию: false |
Параметры потоковой передачи
Эти параметры применяются при использовании read_files
внутри потоковой таблицы или потокового запроса.
Вариант |
---|
allowOverwrites Тип: Boolean Следует ли повторно обрабатывать файлы, которые были изменены после обнаружения. Последняя доступная версия файла будет обработана во время обновления, если она была изменена с момента последнего успешного запуска запроса обновления. Значение по умолчанию: false |
includeExistingFiles Тип: Boolean Следует ли включать существующие файлы во входной путь обработки потоковой передачи или обрабатывать только новые файлы, поступающие после первоначальной настройки. Этот параметр оценивается только при первом запуске потока. Изменение этого параметра после перезапуска потока не даст результата. Значение по умолчанию: true |
maxBytesPerTrigger Тип: Byte String Максимальное число новых байтов, которое может обрабатываться в каждом триггере. Можно указать строку байтов, например 10g , чтобы ограничить каждый микробатч до 10 ГБ данных. Это мягкое ограничение. Если у вас есть файлы размером 3 ГБ каждый, Azure Databricks обработает микропакет 12 ГБ. При совместном использовании с maxFilesPerTrigger Azure Databricks потребляет до нижнего предела maxFilesPerTrigger или maxBytesPerTrigger , в зависимости от того, что будет достигнуто раньше.Примечание. Для таблиц потоковой обработки данных, созданных на бессерверных SQL-складах данных, этот параметр и maxFilesPerTrigger не должны быть установлены, чтобы использовать динамическое управление доступом, которое масштабируется в зависимости от размера рабочей нагрузки и бессерверных вычислительных ресурсов, обеспечивая оптимальную задержку и производительность.Значение по умолчанию: нет |
maxFilesPerTrigger Тип: Integer Максимальное число новых файлов, которое должно быть обработано в каждом триггере. При совместном использовании с maxBytesPerTrigger Azure Databricks потребляет до нижнего предела maxFilesPerTrigger или maxBytesPerTrigger , в зависимости от того, что будет достигнуто раньше.Примечание. Для таблиц потоковой обработки данных, созданных на бессерверных SQL-складах данных, этот параметр и maxBytesPerTrigger не должны быть установлены, чтобы использовать динамическое управление доступом, которое масштабируется в зависимости от размера рабочей нагрузки и бессерверных вычислительных ресурсов, обеспечивая оптимальную задержку и производительность.Значение по умолчанию: 1000 |
schemaEvolutionMode Тип: String Режим для развития схемы по мере обнаружения в данных новых столбцов. По умолчанию столбцы выводятся как строки при выводе наборов данных JSON. Дополнительные сведения см. в разделе Развитие схемы. Этот параметр не применяется к text файлам и binaryFile файлам.Значение по умолчанию: "addNewColumns" , если схема не задана.В противном случае "none" . |
schemaLocation Тип: String Расположение для хранения выводимой схемы и последующих изменений. Дополнительные сведения см. в разделе Вывод схемы. Расположение схемы не требуется при использовании в запросе к потоковой таблице. Значение по умолчанию: нет |
Примеры
-- Reads the files available in the given path. Auto-detects the format and schema of the data.
> SELECT * FROM read_files('abfss://[email protected]/base/path');
-- Reads the headerless CSV files in the given path with the provided schema.
> SELECT * FROM read_files(
's3://bucket/path',
format => 'csv',
schema => 'id int, ts timestamp, event string');
-- Infers the schema of CSV files with headers. Because the schema is not provided,
-- the CSV files are assumed to have headers.
> SELECT * FROM read_files(
's3://bucket/path',
format => 'csv')
-- Reads files that have a csv suffix.
> SELECT * FROM read_files('s3://bucket/path/*.csv')
-- Reads a single JSON file
> SELECT * FROM read_files(
'abfss://[email protected]/path/single.json')
-- Reads JSON files and overrides the data type of the column `id` to integer.
> SELECT * FROM read_files(
's3://bucket/path',
format => 'json',
schemaHints => 'id int')
-- Reads files that have been uploaded or modified yesterday.
> SELECT * FROM read_files(
'gs://my-bucket/avroData',
modifiedAfter => date_sub(current_date(), 1),
modifiedBefore => current_date())
-- Creates a Delta table and stores the source file path as part of the data
> CREATE TABLE my_avro_data
AS SELECT *, _metadata.file_path
FROM read_files('gs://my-bucket/avroData')
-- Creates a streaming table that processes files that appear only after the table's creation.
-- The table will most likely be empty (if there's no clock skew) after being first created,
-- and future refreshes will bring new data in.
> CREATE OR REFRESH STREAMING TABLE avro_data
AS SELECT * FROM STREAM read_files('gs://my-bucket/avroData', includeExistingFiles => false);
Связанные статьи
- CREATE STREAMING TABLE
-
табличное значение функции