Leia e escreva ficheiros de texto

O text formato lê cada linha de um ficheiro de texto como uma linha num DataFrame com uma única value coluna do tipo StringType. Os utilizadores do Azure Databricks utilizam-no frequentemente para análise de registos, absorção de dados brutos antes de processamento adicional, ou para qualquer fluxo de trabalho que exija acesso linha a linha ao conteúdo do ficheiro. O Azure Databricks suporta a leitura e escrita de ficheiros de texto com o Apache Spark, incluindo compressão de escrita.

Pré-requisitos

O Azure Databricks não requer configuração adicional para utilizar ficheiros de texto. No entanto, para transmitir ficheiros de texto, precisas do Auto Loader.

Opções

Utilize os métodos .option() e .options() de DataFrameReader e DataFrameWriter para configurar fontes de dados de texto. Para uma lista completa de opções suportadas, consulte DataFrameReader opções de texto e DataFrameWriter opções de texto.

Usage

Os exemplos seguintes utilizam o conjunto de dados Wanderbricks para demonstrar a leitura e escrita de ficheiros de texto usando a API Spark DataFrame e SQL.

Leia ficheiros de texto usando SQL

Para consultar ficheiros de texto sem registar uma tabela, use read_files. As permissões do Unity Catalog na localização externa aplicam-se automaticamente.

SELECT * FROM read_files(
  '/Volumes/<catalog>/<schema>/<volume>/review_comments',
  format => 'text'
)

Leia e escreva ficheiros de texto

O text formato requer um DataFrame com uma única StringType coluna. Os exemplos seguintes escrevem comentários de avaliação do Wanderbricks num ficheiro de texto e depois leem-nos de novo.

Python

from pyspark.sql.functions import col

# Write wanderbricks review comments as a text file
df = spark.read.table("samples.wanderbricks.reviews").select(col("comment").alias("value"))
df.write.format("text").save("/Volumes/<catalog>/<schema>/<volume>/review_comments")

# Read a text file — each line becomes a row in the "value" column
df = spark.read.format("text").load("/Volumes/<catalog>/<schema>/<volume>/review_comments")
display(df)

Scala

import org.apache.spark.sql.functions.col

// Write wanderbricks review comments as a text file
val df = spark.read.table("samples.wanderbricks.reviews").select(col("comment").alias("value"))
df.write.format("text").save("/Volumes/<catalog>/<schema>/<volume>/review_comments")

// Read a text file — each line becomes a row in the "value" column
val text = spark.read.format("text").load("/Volumes/<catalog>/<schema>/<volume>/review_comments")
text.show()

Recursos adicionais

  • Leia e escreva ficheiros CSV: Se os seus dados de texto forem delimitados ou tabulares, o CSV fornece análise estruturada com inferência de esquema, suporte a cabeçalhos e delimitadores configuráveis.