Ler e gravar arquivos de texto
O formato text lê cada linha de um arquivo de texto como uma linha em um DataFrame com uma única coluna value do tipo StringType. Usuários do Databricks geralmente o utilizam para análise de log, ingestão de dados brutos antes de processamento adicional, ou qualquer fluxo de trabalho que exija acesso linha a linha ao conteúdo do arquivo. O Databricks suporta a leitura e a escrita de arquivos de texto com Apache Spark, incluindo a compressão de escrita.
Pré-requisitos
A Databricks não requer configuração adicional para usar arquivos de texto. No entanto, para transmitir arquivos de texto, é necessário o Auto Loader.
Opções
Use os métodos .option() e .options() de DataFrameReader e DataFrameWriter para configurar a fonte de dados do texto. Para obter uma lista completa das opções suportadas, consulte DataFrameReader opções de texto e DataFrameWriter opções de texto.
Uso
Os exemplos a seguir usam o dataset Wanderbricks para demonstrar a leitura e gravação de arquivos de texto usando a API Spark DataFrame e SQL.
Ler arquivos de texto usando SQL
Para consultar arquivos de texto sem registrar uma tabela, use read_files. As permissões do Unity Catalog no local externo aplicam-se automaticamente.
SELECT * FROM read_files(
'/Volumes/<catalog>/<schema>/<volume>/review_comments',
format => 'text'
)
Ler e gravar arquivos de texto
O formato text exige um DataFrame com uma única coluna StringType. Os exemplos a seguir gravam os comentários da revisão do Wanderbricks como um arquivo de texto e, em seguida, os leem de volta.
- Python
- Scala
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)
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
- Ler e gravar arquivos CSV: Se seus dados de texto são delimitados ou tabulares, o CSV fornece análise estruturada com inferência de esquema, suporte a cabeçalho e delimitadores configuráveis.