Compartir a través de


COPY INTO

Se aplica a:casilla marcada como Sí Databricks SQL casilla marcada como Sí Databricks Runtime

Carga datos de una ubicación de archivo en una tabla Delta. Se trata de una operación que se puede volver a intentar e idempotente; se omiten los archivos de la ubicación de origen que ya se han cargado. Esto es cierto incluso si los archivos se han modificado desde que se cargaron. Para obtener ejemplos, consulte patrones comunes de carga de datos utilizando COPY INTO.

Sintaxis

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

Parámetros

  • target_table

    Identifica una tabla de Delta existente. El target_table no debe incluir una especificación temporal ni una especificación de opciones.

    Si el nombre de la tabla se proporciona en forma de ubicación, como delta.`/path/to/table` , Unity Catalog puede controlar el acceso a las ubicaciones en las que se escriben. Puede escribir en una ubicación externa mediante:

    • Defina la ubicación como una ubicación externa y disponga de permisos WRITE FILES sobre esa ubicación externa.

    • Disponga de permisos WRITE FILES en una credencial de almacenamiento con nombre que proporcione autorización para escribir en una ubicación mediante: COPY INTO delta.`/some/location` WITH (CREDENTIAL <named-credential>)

    Consulte Conexión al almacenamiento de objetos en la nube mediante el Catálogo de Unity para obtener más información.

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

    Hace coincidir las columnas de origen con las columnas de la tabla de destino según la posición ordinal. La conversión de tipos de las columnas coincidentes se realiza automáticamente.

    Este parámetro solo se admite para el formato de archivo CSV sin encabezado. Debe especificar FILEFORMAT = CSV. FORMAT_OPTIONS también debe establecerse en ("headers" = "false") (FORMAT_OPTIONS ("headers" = "false") es el valor predeterminado).

    Opción de sintaxis 1: BY POSITION

    • Asigna automáticamente las columnas de origen a las columnas de la tabla de destino según su posición ordinal.
      • La coincidencia de nombres predeterminada no se utiliza para realizar coincidencias.
      • Las columnas IDENTITY y las columnas GENERATED de la tabla de destino se omiten al hacer coincidir las columnas de origen.
      • Si el número de columnas de origen no es igual a las columnas de la tabla de destino filtradas, COPY INTO genera un error.

    Opción de sintaxis 2: ( col_name [ , <col_name> ... ] )

    • Asocia las columnas de origen con las columnas especificadas de la tabla de destino en función de su posición ordinal relativa, colocando los nombres de las columnas de la tabla de destino entre paréntesis y separándolos por comas.
      • El orden de las columnas de la tabla original y los nombres de columna no se usan para realizar emparejamiento.
      • Las columnas IDENTITY y las columnas GENERATED no se pueden especificar en la lista de nombres de columna; de lo contrario COPY INTO genera un error.
      • No se pueden duplicar las columnas especificadas.
      • Cuando el número de columnas de origen no es igual a las columnas de tabla especificadas, COPY INTO genera un error.
      • Para las columnas que no se especifican en la lista de nombres de columna, COPY INTO asigna valores predeterminados, si los hay, y asigna NULL de lo contrario. Si alguna columna no acepta valores NULL, COPY INTO genera un error.
  • source

    Ubicación del archivo desde la que se cargarán los datos. Los archivos de esta ubicación deben tener el formato especificado en FILEFORMAT. La ubicación se proporciona en forma de un identificador URI.

    Se puede proporcionar acceso a la ubicación de origen a través de:

    • credential_name

      Nombre opcional de la credencial usada para acceder a la ubicación de almacenamiento o escribir en esta. Use esta credencial solo si la ubicación del archivo no está incluida en una ubicación externa. Ver credential_name.

    • Credenciales temporales insertadas.

    • Definir la ubicación de origen como una ubicación externa y tener permisos READ FILES en la ubicación externa mediante Unity Catalog.

    • El uso de una credencial de almacenamiento con nombre con permisos READ FILES que proporcionan autorización para leer desde una ubicación mediante Unity Catalog.

    No es necesario proporcionar credenciales insertadas o con nombre si la ruta de acceso ya está definida como una ubicación externa que tiene permisos para usar. Consulte Creación de una ubicación externa para conectar el almacenamiento en la nube a Azure Databricks para más información.

    Nota:

    Si la ruta de acceso del archivo de origen es una ruta de acceso raíz, agregue una barra diagonal (/) al final de la ruta de acceso del archivo, por ejemplo, s3://my-bucket/.

    Las opciones de credenciales aceptadas son:

    • AZURE_SAS_TOKEN para ADLS y Azure Blob Storage
    • AWS_ACCESS_KEY, AWS_SECRET_KEY y AWS_SESSION_TOKEN para AWS S3

    Las opciones de cifrado aceptadas son:

    • TYPE = 'AWS_SSE_C', y MASTER_KEY para AWS S3

Vea Cargar datos mediante COPY INTO con credenciales temporales.

  • SELECT expression_list

    Selecciona las columnas o expresiones especificadas de los datos de origen antes de copiarlos en la tabla Delta. Las expresiones pueden ser cualquier cosa que use con instrucciones SELECT, incluidas las operaciones de ventana. Solo se pueden usar expresiones de agregación para agregados globales; no se puede usar GROUP BY en columnas con esta sintaxis.

  • FILEFORMAT = data_source

    Formato de los archivos de origen que se cargarán. Uno de estos valores: CSV, JSON, AVRO, ORC, PARQUET, TEXT, BINARYFILE.

  • VALIDATE

    Se aplica a:casilla marcada como sí Databricks SQL casilla marcada como Sí Databricks Runtime 10.4 LTS y versiones posteriores

    Los datos que se van a cargar en una tabla se validan, pero no se escriben en la tabla. Estas validaciones incluyen lo siguiente:

    • Si se pueden analizar los datos.
    • Si el esquema coincide con el de la tabla o si el esquema debe evolucionar.
    • Si se cumplen todas las restricciones de nulabilidad y de comprobación.

    El valor predeterminado es validar todos los datos que se van a cargar. Puede proporcionar una serie de filas para que se validen con la palabra clave ROWS, como VALIDATE 15 ROWS. La instrucción COPY INTO devuelve una vista previa de los datos de 50 filas o menos, cuando se usa un número menor que 50 con la palabra clave ROWS.

  • FILES

    Lista de nombres de archivo que se van a cargar, con un límite de 1000 archivos. No se puede especificar con PATTERN.

  • PATTERN

    Patrón de global que identifica los archivos que se van a cargar desde el directorio de origen. No se puede especificar con FILES.

    Patrón Descripción
    ? Coincide con cualquier carácter individual
    * Coincide con cero o más caracteres
    [abc] Coincide con un solo carácter del juego de caracteres {a,b,c}.
    [a-z] Coincide con un solo carácter del intervalo de caracteres {a...z}.
    [^a] Corresponde a un solo carácter que no es del conjunto de caracteres o del intervalo {a}. Tenga en cuenta que el carácter ^ debe aparecer inmediatamente a la derecha del corchete de apertura.
    {ab,cd} Coincide con una cadena del conjunto de cadenas {ab, cd}.
    {ab,c{de, fh}} Coincide con una cadena del conjunto de cadenas {ab, cde, cfh}.
  • FORMAT_OPTIONS

    Opciones que se pasan al lector de origen de datos de Apache Spark para el formato especificado. Consulte Opciones de formato para conocer los formatos de archivo.

  • COPY_OPTIONS

    Opciones para controlar el funcionamiento del comando COPY INTO.

    • force: booleano, valor predeterminado: false. Si se establece en true, la idempotencia está deshabilitada y los archivos se cargan independientemente de si se han cargado antes.
    • mergeSchema: booleano, valor predeterminado: false. Si se establece en true, el esquema puede evolucionar según los datos entrantes.

Invocar COPY INTO simultáneamente

COPY INTO admite invocaciones simultáneas en la misma tabla. Siempre y cuando COPY INTO se invoque simultáneamente en conjuntos distintos de archivos de entrada, cada invocación debería ser correcta, de lo contrario, se produce un conflicto de transacciones. COPY INTO no se debe invocar simultáneamente para mejorar el rendimiento; un solo COPY INTO comando con varios archivos suele funcionar mejor que ejecutar comandos simultáneos COPY INTO con un único archivo cada uno. COPY INTO se puede llamar simultáneamente cuando:

  • Varios productores de datos no tienen una manera fácil de coordinar y no pueden realizar una sola invocación.
  • Cuando un subdirectorio muy grande se puede ingerir en un subdirectorio. Al ingerir directorios con un gran número de archivos, Databricks recomienda usar Auto Loader siempre que sea posible.

Acceso a metadatos de archivo

Para obtener información sobre cómo acceder a los metadatos de los orígenes de datos basados en archivos, consulte Columna de metadatos de archivo.

Opciones de formato

Opciones genéricas

Las siguientes opciones se aplican a todos los formatos de archivo.

Opción
ignoreCorruptFiles
Tipo: Boolean
Si se deben omitir los archivos dañados. Si el valor es true, los trabajos de Spark seguirán ejecutándose cuando haya archivos dañados y se devolverá el contenido leído. Observable como numSkippedCorruptFiles en la columna
operationMetrics del historial de Delta Lake. Disponible en Databricks Runtime 11.3 LTS y versiones posteriores.
Valor predeterminado: false
ignoreMissingFiles
Tipo: Boolean
Si se deben omitir los archivos que faltan. Si el valor es true, los trabajos de Spark seguirán ejecutándose cuando falten archivos y se devolverá el contenido leído. Disponible en Databricks Runtime 11.3 LTS y versiones posteriores.
Valor predeterminado: false para Auto Loader, true para COPY INTO (heredado)
modifiedAfter
Tipo: Timestamp String, por ejemplo, 2021-01-01 00:00:00.000000 UTC+0.
Una marca de tiempo opcional como filtro para procesar solo archivos cuyo sello de modificación sea posterior al proporcionado.
Valor predeterminado: ninguno
modifiedBefore
Tipo: Timestamp String, por ejemplo, 2021-01-01 00:00:00.000000 UTC+0.
Marca de tiempo opcional como filtro para filtrar solo los archivos con una marca de tiempo de modificación anterior a la marca de tiempo dada.
Valor predeterminado: ninguno
pathGlobFilter o fileNamePattern
Tipo: String
Un posible patrón global que proporcionar para elegir archivos. Equivalente a
PATTERN en COPY INTO (heredado). fileNamePattern se puede usar en read_files.
Valor predeterminado: ninguno
recursiveFileLookup
Tipo: Boolean
Esta opción busca en directorios anidados incluso si sus nombres no siguen un esquema de nomenclatura de particiones como date=2019-07-01.
Valor predeterminado: false

JSON opciones

Opción
allowBackslashEscapingAnyCharacter
Tipo: Boolean
Si se permite que las barras diagonales invertidas sean caracteres de escape para cualquier carácter posterior. Si no está habilitado, solo se pueden escapar los caracteres que se enumeran explícitamente mediante la especificación JSON.
Valor predeterminado: false
allowComments
Tipo: Boolean
Si se permite el uso de comentarios de estilo en Java, C y C++ (variedades '/', '*' y '//') dentro del contenido analizado o no.
Valor predeterminado: false
allowNonNumericNumbers
Tipo: Boolean
Si se permite el conjunto de tokens que no son cifras (NaN) como valores de número flotante válidos.
Valor predeterminado: true
allowNumericLeadingZeros
Tipo: Boolean
Si se permite que los números enteros comiencen con ceros adicionales (que se pueden omitir) (por ejemplo, 000001).
Valor predeterminado: false
allowSingleQuotes
Tipo: Boolean
Si se permite el uso de comillas simples (apóstrofo, carácter '\') para citar cadenas (nombres y valores de cadena).
Valor predeterminado: true
allowUnquotedControlChars
Tipo: Boolean
Si se permite que las cadenas JSON contengan caracteres de control sin escape (caracteres ASCII con un valor inferior a 32, incluidos los de tabulación y avance de línea) o no.
Valor predeterminado: false
allowUnquotedFieldNames
Tipo: Boolean
Si se permite el uso de nombres de campo sin comillas (permitidos en JavaScript, pero no en la especificación JSON).
Valor predeterminado: false
badRecordsPath
Tipo: String
Ruta de acceso para almacenar archivos para registrar la información sobre los registros JSON no válidos.
El uso de la badRecordsPath opción en un origen de datos basado en archivos tiene las siguientes limitaciones:
  • No es transaccional y puede dar lugar a resultados incoherentes.
  • Los errores transitorios se tratan como errores.

Valor predeterminado: ninguno
columnNameOfCorruptRecord
Tipo: String
Columna para almacenar registros con formato incorrecto que no se pueden analizar. Si se establece mode para el análisis como DROPMALFORMED, esta columna estará vacía.
Valor predeterminado: _corrupt_record
dateFormat
Tipo: String
Formato para analizar las cadenas de fecha.
Valor predeterminado: yyyy-MM-dd
dropFieldIfAllNull
Tipo: Boolean
Si se deben ignorar las columnas con todos los valores NULL o las matrices y estructuras vacías durante la inferencia del esquema.
Valor predeterminado: false
encoding o charset
Tipo: String
Nombre de la codificación de los archivos JSON. Consulte java.nio.charset.Charset para la lista de opciones. No se puede usar UTF-16 y UTF-32 cuando multiline es true.
Valor predeterminado: UTF-8
inferTimestamp
Tipo: Boolean
Si se deben probar y deducir cadenas de marca de tiempo como TimestampType. Cuando se establece en
true, la inferencia de esquema puede tardar notablemente más tiempo. Debe habilitar cloudFiles.inferColumnTypes para usar con Auto Loader.
Valor predeterminado: false
lineSep
Tipo: String
Una cadena que aparece entre dos registros JSON consecutivos.
Valor predeterminado: None, que abarca \r, \r\n y \n.
locale
Tipo: String
Un identificador java.util.Locale. Influye en la fecha predeterminada, la marca de tiempo y el análisis decimal dentro de JSON.
Valor predeterminado: US
mode
Tipo: String
Modo de analizador para el control de registros con formato incorrecto. Uno dePERMISSIVE, DROPMALFORMED o FAILFAST.
Valor predeterminado: PERMISSIVE
multiLine
Tipo: Boolean
Si los registros JSON abarcan varias líneas.
Valor predeterminado: false
prefersDecimal
Tipo: Boolean
Intentos para inferir cadenas como DecimalType en lugar de tipo float o double cuando sea posible. También debe usar la inferencia de esquema, ya sea habilitando
inferSchema o bien usando cloudFiles.inferColumnTypes con el Auto Loader.
Valor predeterminado: false
primitivesAsString
Tipo: Boolean
Si se deben extrapolar los tipos primitivos, como, por ejemplo, números y booleanos, como StringType.
Valor predeterminado: false
readerCaseSensitive
Tipo: Boolean
Especifica el comportamiento de distinción entre mayúsculas y minúsculas cuando rescuedDataColumn está habilitado. Si es true, rescate las columnas de datos cuyos nombres difieren entre mayúsculas y minúsculas del esquema; de lo contrario, lea los datos de una manera sin distinción entre mayúsculas y minúsculas. Disponible en Databricks Runtime
13.3 y versiones posteriores.
Valor predeterminado: true
rescuedDataColumn
Tipo: String
Si se recopilan todos los datos que no se pueden analizar por un error de coincidencia de tipos de datos o a una falta de coincidencia de esquemas (incluido el uso de mayúsculas y minúsculas en las columnas) en una columna independiente. Esta columna se incluye de forma predeterminada cuando se usa Auto Loader. Para obtener más información, consulte ¿Qué es la columna de datos rescatados?.
COPY INTO (heredado) no admite la columna de datos rescatada porque no se puede establecer manualmente el esquema mediante COPY INTO. Databricks recomienda usar Auto Loader para la mayoría de los escenarios de ingesta.
Valor predeterminado: ninguno
singleVariantColumn
Tipo: String
Si se debe ingerir todo el documento JSON, analizado en una sola columna Variant con la cadena especificada como el nombre de la columna. Si está deshabilitado, los campos JSON se ingerirán en sus propias columnas.
Valor predeterminado: ninguno
timestampFormat
Tipo: String
Formato para analizar cadenas de marca de tiempo.
Valor predeterminado: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]
timeZone
Tipo: String
java.time.ZoneId que se usará al analizar marcas de tiempo y fechas.
Valor predeterminado: ninguno

CSV opciones

Opción
badRecordsPath
Tipo: String
Ruta de acceso para almacenar archivos para registrar la información sobre los registros CSV no válidos.
Valor predeterminado: ninguno
charToEscapeQuoteEscaping
Tipo: Char
Carácter utilizado como carácter de escape de las comillas. Por ejemplo, para el registro siguiente: [ " a\\", b ]:
  • Si el carácter que se va a escapar '\' está indefinido, no se procesará el registro. El analizador leerá caracteres: [a],[\],["],[,],[ ],[b] y producirá un error porque no encuentra una comilla de cierre.
  • Si el carácter de escape de '\' se define como '\', el registro se leerá con 2 valores: [a\] y [b].

Valor predeterminado: '\0'
columnNameOfCorruptRecord
Compatible con el Cargador automático. No se admite para COPY INTO (heredado)
Tipo: String
Columna para almacenar registros con formato incorrecto que no se pueden analizar. Si se establece mode para el análisis como DROPMALFORMED, esta columna estará vacía.
Valor predeterminado: _corrupt_record
comment
Tipo: Char
Define el carácter que representa un comentario de línea cuando se encuentra al principio de una línea de texto. Use '\0' para deshabilitar la omisión de comentarios.
Valor predeterminado: '\u0000'
dateFormat
Tipo: String
Formato para analizar las cadenas de fecha.
Valor predeterminado: yyyy-MM-dd
emptyValue
Tipo: String
Representación de cadena de un valor vacío.
Valor predeterminado: ""
encoding o charset
Tipo: String
Nombre de la codificación de los archivos CSV. Consulte java.nio.charset.Charset para la lista de opciones. UTF-16 y UTF-32 no se pueden usar cuando multiline es true.
Valor predeterminado: UTF-8
enforceSchema
Tipo: Boolean
Si se aplica forzosamente el esquema especificado o inferido a los archivos CSV. Si la opción está habilitada, se omiten los encabezados de los archivos CSV. Esta opción se omite de forma predeterminada al usar Auto Loader para rescatar datos y permitir la evolución del esquema.
Valor predeterminado: true
escape
Tipo: Char
Carácter de escape que se usará al analizar los datos.
Valor predeterminado: '\'
header
Tipo: Boolean
Si los archivos CSV contienen encabezado. Auto Loader supone que los archivos tienen encabezados al inferir el esquema.
Valor predeterminado: false
ignoreLeadingWhiteSpace
Tipo: Boolean
Si se omiten los espacios en blanco iniciales en los valores analizados.
Valor predeterminado: false
ignoreTrailingWhiteSpace
Tipo: Boolean
Si se omiten los espacios en blanco finales en los valores analizados.
Valor predeterminado: false
inferSchema
Tipo: Boolean
Si se debe inferir los tipos de datos de los registros CSV analizados o se supone que todas las columnas son de StringType. Requiere un paso adicional sobre los datos si se establece en true. Para el Cargador automático, use cloudFiles.inferColumnTypes en su lugar.
Valor predeterminado: false
lineSep
Tipo: String
Cadena entre dos registros CSV consecutivos.
Valor predeterminado: None, que abarca \r, \r\n y \n.
locale
Tipo: String
Un identificador java.util.Locale. Influye en la fecha predeterminada, la marca de tiempo y el análisis decimal dentro de CSV.
Valor predeterminado: US
maxCharsPerColumn
Tipo: Int
Máximo de caracteres esperados de un valor que se analizará. Se puede usar para evitar errores en la memoria. El valor predeterminado es -1, que significa ilimitado.
Valor predeterminado: -1
maxColumns
Tipo: Int
Límite máximo de columnas que puede tener un registro.
Valor predeterminado: 20480
mergeSchema
Tipo: Boolean
Si se debe inferir el esquema en varios archivos y combinar el esquema de cada archivo. Habilitado de forma predeterminada para Auto Loader al inferir el esquema.
Valor predeterminado: false
mode
Tipo: String
Modo de analizador para el control de registros con formato incorrecto. Uno de estos valores: 'PERMISSIVE',
'DROPMALFORMED' y 'FAILFAST'.
Valor predeterminado: PERMISSIVE
multiLine
Tipo: Boolean
Si los registros CSV abarcan varias líneas.
Valor predeterminado: false
nanValue
Tipo: String
Representación de cadena de un valor no numérico al analizar columnas FloatType y DoubleType.
Valor predeterminado: "NaN"
negativeInf
Tipo: String
La representación en cadena del infinito negativo cuando se analizan las columnas FloatType o DoubleType.
Valor predeterminado: "-Inf"
nullValue
Tipo: String
Representación de cadena de un valor NULL.
Valor predeterminado: ""
parserCaseSensitive (en desuso)
Tipo: Boolean
Durante la lectura de archivos, si se alinean las columnas declaradas en el encabezado con el esquema, se distingue entre mayúsculas y minúsculas. Esto es true de manera predeterminada para Auto Loader. Las columnas que difieren en las mayúsculas y las minúsculas se rescatarán en rescuedDataColumn si está habilitado. Esta opción ha quedado en desuso en favor de readerCaseSensitive.
Valor predeterminado: false
positiveInf
Tipo: String
Representación en forma de cadena del infinito positivo al analizar las columnas FloatType o DoubleType.
Valor predeterminado: "Inf"
preferDate
Tipo: Boolean
Intentos para inferir cadenas como fechas en lugar de marca de tiempo cuando sea posible. También debe usar la inferencia de esquemas, ya sea habilitando inferSchema o usando
cloudFiles.inferColumnTypes con Auto Loader.
Valor predeterminado: true
quote
Tipo: Char
Carácter utilizado para escapar valores en los que el delimitador de campo forma parte del valor.
Valor predeterminado: "
readerCaseSensitive
Tipo: Boolean
Especifica el comportamiento de distinción entre mayúsculas y minúsculas cuando rescuedDataColumn está habilitado. Si es true, rescate las columnas de datos cuyos nombres difieren entre mayúsculas y minúsculas del esquema; de lo contrario, lea los datos de una manera sin distinción entre mayúsculas y minúsculas.
Valor predeterminado: true
rescuedDataColumn
Tipo: String
Si se deben recopilar todos los datos que no se puedan analizar debido a un desajuste de tipos de datos y un desajuste de esquema (incluida la distinción entre mayúsculas y minúsculas en las columnas) en una columna independiente. Esta columna se incluye de forma predeterminada cuando se usa Auto Loader. Para obtener más información, consulte ¿Qué es la columna de datos rescatados?.
COPY INTO (heredado) no admite la columna de datos rescatada porque no se puede establecer manualmente el esquema mediante COPY INTO. Databricks recomienda usar Auto Loader para la mayoría de los escenarios de ingesta.
Valor predeterminado: ninguno
sep o delimiter
Tipo: String
Cadena separadora de columnas.
Valor predeterminado: ","
skipRows
Tipo: Int
Número de filas desde el principio del archivo CSV que se debe omitir (incluidas las filas comentadas y vacías). Si header es true, el encabezado será la primera fila sin descodificar y sin marca de comentario.
Valor predeterminado: 0
timestampFormat
Tipo: String
Formato para analizar cadenas de marca de tiempo.
Valor predeterminado: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]
timeZone
Tipo: String
java.time.ZoneId que se usará al analizar marcas de tiempo y fechas.
Valor predeterminado: ninguno
unescapedQuoteHandling
Tipo: String
Estrategia para controlar las comillas sin escape. Opciones permitidas:
  • STOP_AT_CLOSING_QUOTE: si se encuentran comillas sin escape en la entrada, acumule el carácter de comilla y continúe analizando el valor como un valor entre comillas hasta que se encuentre una comilla de cierre.
  • BACK_TO_DELIMITER: si se encuentran comillas sin escape en la entrada, considere el valor como un valor sin comillas. Esto hará que el analizador acumule todos los caracteres del valor analizado actual hasta que se encuentre el delimitador definido por sep. Si no se encuentra ningún delimitador en el valor, el analizador seguirá acumulando caracteres de la entrada hasta que se encuentre un delimitador o un final de línea.
  • STOP_AT_DELIMITER: si se encuentran comillas sin escape en la entrada, considere el valor como un valor sin comillas. Esto hará que el analizador acumule todos los caracteres hasta el delimitador definido mediante sep o hasta que se encuentre un final de línea en la entrada.
  • SKIP_VALUE: si se encontrasen comillas sin escape en la entrada, se omitirá el contenido analizado para el valor dado (hasta que se encuentre el siguiente delimitador) y se producirá en su lugar el valor establecido en nullValue.
  • RAISE_ERROR: si se encontrasen comillas sin escape en la entrada, un
    se producirá TextParsingException.

Valor predeterminado: STOP_AT_DELIMITER

XML opciones

Opción Descripción Ámbito
rowTag Etiqueta de fila de los archivos XML que se van a tratar como una fila. En el XML <books> <book><book>...<books> de ejemplo, el valor adecuado es book. Esta es una opción necesaria. leer
samplingRatio Define una fracción de filas usadas para la inferencia de esquema. Las funciones integradas XML omiten esta opción. Predeterminado: 1.0. leer
excludeAttribute Si se excluyen los atributos en los elementos. Predeterminado: false. leer
mode Modo para tratar los registros corruptos durante el análisis sintáctico.
PERMISSIVE: Para los registros corruptos, coloca la cadena malformada en un campo configurado por columnNameOfCorruptRecord, y establece los campos con formato incorrecto en null. Para conservar los registros corruptos, puede establecer un campo string denominado columnNameOfCorruptRecord en un esquema definido por el usuario. Si un esquema no tiene el campo, los registros dañados se quitan durante el análisis. Al deducir un esquema, agrega implícitamente un campo columnNameOfCorruptRecord en un esquema de salida.
DROPMALFORMED: omite los registros dañados. Este modo no es compatible con las funciones integradas XML.
FAILFAST: Lanza una excepción cuando el analizador encuentra registros dañados.
leer
inferSchema Si true, entonces intenta deducir un tipo adecuado para cada columna del DataFrame resultante. Si false, todas las columnas resultantes son de tipo string. Valor predeterminado:
true. Las funciones integradas XML omiten esta opción.
leer
columnNameOfCorruptRecord Permite cambiar el nombre del nuevo campo que contiene una cadena con formato incorrecto creada por el
el modo PERMISSIVE. Predeterminado: spark.sql.columnNameOfCorruptRecord.
leer
attributePrefix El prefijo de los atributos para diferenciarlos de los elementos. Este será el prefijo para los nombres de campo. El valor predeterminado es _. Puede estar vacío para leer XML, pero no para escribir. lectura,escritura
valueTag Etiqueta usada para los datos de caracteres dentro de los elementos que también tienen atributos o elementos secundarios. El usuario puede especificar el valueTag campo en el esquema o se agregará automáticamente durante la inferencia de esquema cuando los datos de caracteres estén presentes en elementos con otros elementos o atributos. Opción predeterminada: _VALUE lectura,escritura
encoding Para leer, descodifica los archivos XML mediante el tipo de codificación especificado. Para escribir, especifica la codificación (charset) de los archivos XML guardados. Las funciones integradas XML omiten esta opción. Predeterminado: UTF-8. lectura,escritura
ignoreSurroundingSpaces Define si deben omitirse los espacios en blanco circundantes de los valores que se están leyendo. Predeterminado: true. Los datos de caracteres de solo espacio en blanco se omiten. leer
rowValidationXSDPath Ruta a un archivo XSD opcional que se utiliza para validar el XML de cada fila individualmente. Las filas que no se validan se tratan como errores de análisis como se mencionó anteriormente. De otro modo, el archivo XSD no afecta al esquema proporcionado o inferido. leer
ignoreNamespace Si true, se omiten los prefijos de los espacios de nombres en los elementos y atributos XML. Las etiquetas <abc:author> y <def:author>, por ejemplo, se tratan como si ambos son simplemente <author>. Los espacios de nombres no se pueden omitir en el elemento rowTag, solo sus elementos secundarios de lectura. El análisis XML no es compatible con el espacio de nombres, incluso si es false. Predeterminado: false. leer
timestampFormat Cadena de formato de marca de tiempo personalizada que sigue el formato del patrón de fecha y hora . Esto se aplica al tipo timestamp. Predeterminado: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]. lectura,escritura
timestampNTZFormat Cadena de formato personalizado para la marca de tiempo sin zona horaria que sigue el formato de patrón datetime. Esto se aplica al tipo TimestampNTZType. Valor predeterminado:
yyyy-MM-dd'T'HH:mm:ss[.SSS]
lectura,escritura
dateFormat Cadena de formato de fecha personalizada que sigue el formato de patrón de fecha y hora. Esto se aplica al tipo de fecha. Predeterminado: yyyy-MM-dd. lectura,escritura
locale Establece una configuración regional como etiqueta de idioma en formato IETF BCP 47. Por ejemplo, locale se usa al analizar fechas y marcas de tiempo. Predeterminado: en-US. leer
rootTag Etiqueta raíz de los archivos XML. Por ejemplo, en <books> <book><book>...</books>, el valor adecuado es books. Puede incluir atributos básicos especificando un valor como books foo="bar". Predeterminado: ROWS. escribir
declaration Contenido de la declaración XML que se va a escribir al principio de cada archivo XML de salida, antes de rootTag. Por ejemplo, un valor de foo provoca que se escriba <?xml foo?>. Se establece una cadena vacía para suprimirla. Opción predeterminada: version="1.0"
encoding="UTF-8" standalone="yes".
escribir
arrayElementName Nombre del elemento XML que incluye cada elemento de una columna con valores de matriz al escribir. Predeterminado: item. escribir
nullValue Establece la representación en cadena de un valor nulo. Predeterminado: cadena null. Cuando se trata de null, el analizador no escribe atributos y elementos para los campos. lectura,escritura
compression Código de compresión a utilizar al guardar en un archivo. Puede ser uno de los nombres abreviados conocidos sin distinción de mayúsculas y minúsculas (none, bzip2, gzip,lz4, snappy y
deflate). Las funciones integradas XML omiten esta opción. Predeterminado: none.
escribir
validateName Si es true, produce un error si la validación del nombre del elemento XML falla. Por ejemplo, los nombres de campo SQL pueden tener espacios, pero los nombres de elementos XML no. Valor predeterminado:
true.
escribir
readerCaseSensitive Especifica el comportamiento de distinción entre mayúsculas y minúsculas cuando se habilita rescuedDataColumn. Si es true, rescate las columnas de datos cuyos nombres difieren entre mayúsculas y minúsculas del esquema; de lo contrario, lea los datos de una manera sin distinción entre mayúsculas y minúsculas. Predeterminado: true. leer
rescuedDataColumn Si se van a recopilar todos los datos que no se pueden analizar debido a un desajuste de tipo de datos y a un desajuste de esquema (incluido el uso de mayúsculas y minúsculas de columna) en una columna separada. Esta columna se incluye de forma predeterminada cuando se usa Auto Loader. Para obtener más información, consulte ¿Qué es la columna de datos rescatados?.
COPY INTO (heredado) no admite la columna de datos rescatada porque no se puede establecer manualmente el esquema mediante COPY INTO. Databricks recomienda usar Auto Loader para la mayoría de los escenarios de ingesta.
Predeterminado: Ninguno.
leer
singleVariantColumn Especifica el nombre de la columna variante única. Si se especifica esta opción para leer, analice todo el registro XML en una sola columna Variant con el valor de cadena de opción especificado como nombre de la columna. Si se ofrece esta opción para la escritura, escriba el valor de la columna única de Variant en archivos XML. Predeterminado: none. lectura,escritura

PARQUET opciones

Opción
datetimeRebaseMode
Tipo: String
Controla el cambio de base de los valores de fecha y marca de tiempo entre el calendario juliano y gregoriano proléptico. Valores permitidos: EXCEPTION, LEGACY y
CORRECTED.
Valor predeterminado: LEGACY
int96RebaseMode
Tipo: String
Controla el cambio de base de los valores de marca de tiempo INT96 entre el calendario juliano y el gregoriano proléptico. Valores permitidos: EXCEPTION, LEGACY y
CORRECTED.
Valor predeterminado: LEGACY
mergeSchema
Tipo: Boolean
Si se debe inferir el esquema en varios archivos y combinar el esquema de cada archivo.
Valor predeterminado: false
readerCaseSensitive
Tipo: Boolean
Especifica el comportamiento de distinción entre mayúsculas y minúsculas cuando rescuedDataColumn está habilitado. Si es true, rescate las columnas de datos cuyos nombres difieren entre mayúsculas y minúsculas del esquema; de lo contrario, lea los datos de una manera sin distinción entre mayúsculas y minúsculas.
Valor predeterminado: true
rescuedDataColumn
Tipo: String
Si se deben recopilar todos los datos que no se puedan analizar debido a un desajuste de tipos de datos y un desajuste de esquema (incluida la distinción entre mayúsculas y minúsculas en las columnas) en una columna independiente. Esta columna se incluye de forma predeterminada cuando se usa Auto Loader. Para obtener más información, consulte ¿Qué es la columna de datos rescatados?.
COPY INTO (heredado) no admite la columna de datos rescatada porque no se puede establecer manualmente el esquema mediante COPY INTO. Databricks recomienda usar Auto Loader para la mayoría de los escenarios de ingesta.
Valor predeterminado: ninguno

AVRO opciones

Opción
avroSchema
Tipo: String
Esquema opcional proporcionado por un usuario en formato Avro. Al leer Avro, esta opción se puede establecer en un esquema evolucionado, que es compatible con el esquema de Avro real pero distinto de este. El esquema de deserialización será coherente con el esquema evolucionado. Por ejemplo, si establece un esquema evolucionado que contiene una columna adicional con un valor predeterminado, el resultado de lectura contendrá también la nueva columna.
Valor predeterminado: ninguno
datetimeRebaseMode
Tipo: String
Controla el cambio de base de los valores de fecha y marca de tiempo entre el calendario juliano y gregoriano proléptico. Valores permitidos: EXCEPTION, LEGACY y
CORRECTED.
Valor predeterminado: LEGACY
mergeSchema
Tipo: Boolean
Si se debe inferir el esquema en varios archivos y combinar el esquema de cada archivo.
mergeSchema para Avro no flexibiliza los tipos de datos.
Valor predeterminado: false
readerCaseSensitive
Tipo: Boolean
Especifica el comportamiento de distinción entre mayúsculas y minúsculas cuando rescuedDataColumn está habilitado. Si es true, rescate las columnas de datos cuyos nombres difieren entre mayúsculas y minúsculas del esquema; de lo contrario, lea los datos de una manera sin distinción entre mayúsculas y minúsculas.
Valor predeterminado: true
rescuedDataColumn
Tipo: String
Si se deben recopilar todos los datos que no se puedan analizar debido a un desajuste de tipos de datos y un desajuste de esquema (incluida la distinción entre mayúsculas y minúsculas en las columnas) en una columna independiente. Esta columna se incluye de forma predeterminada cuando se usa Auto Loader.
COPY INTO (heredado) no admite la columna de datos rescatada porque no se puede establecer manualmente el esquema mediante COPY INTO. Databricks recomienda usar Auto Loader para la mayoría de los escenarios de ingesta.
Para obtener más información, consulte ¿Qué es la columna de datos rescatados?.
Valor predeterminado: ninguno

BINARYFILE opciones

Los archivos binarios no tienen ninguna opción de configuración adicional.

TEXT opciones

Opción
encoding
Tipo: String
Nombre de la codificación del separador de líneas de archivo TEXT. Para obtener una lista de opciones, vea java.nio.charset.Charset.
El contenido del archivo no se ve afectado por esta opción y se lee as-is.
Valor predeterminado: UTF-8
lineSep
Tipo: String
Cadena entre dos registros de TEXT consecutivos.
Valor predeterminado: None, que abarca \r, \r\n y \n
wholeText
Tipo: Boolean
Si se debe leer un archivo como único registro.
Valor predeterminado: false

ORC opciones

Opción
mergeSchema
Tipo: Boolean
Si se debe inferir el esquema en varios archivos y combinar el esquema de cada archivo.
Valor predeterminado: false