Neste post, vamos explorar como ler arquivos CSV usando PySpark. Arquivos CSV são um dos formatos mais comuns para armazenamento e transferência de dados, e saber como lidar com eles é uma habilidade essencial para qualquer engenheiro de dados.
Vamos começar configurando nosso ambiente e criando nossa sessão Spark.
from pyspark.sql import SparkSession
# Cria uma SparkSession
spark = SparkSession.builder \
.appName("Leitura de CSV com PySpark") \
.getOrCreate()
PythonLendo um Arquivo CSV
Vamos começar lendo um arquivo CSV simples. Suponha que temos um arquivo chamado exemplo.csv
armazenado em nosso diretório de arquivos files/exemplo.csv
Neste exemplo, utilizamos as opções header=True
para indicar que o arquivo CSV possui cabeçalhos e inferSchema=True
para permitir que o Spark infira automaticamente os tipos de dados das colunas.
# Caminho para o arquivo CSV no DBFS
file_path = "/files/exemplo.csv"
# Leitura do arquivo CSV
df = spark.read.csv(file_path, header=True, inferSchema=True)
# Mostrar as primeiras linhas do DataFrame
df.show()
PythonO método spark.read.csv
suporta várias opções que permitem personalizar a leitura dos arquivos CSV. Aqui estão algumas das mais comuns:
Delimiter (Delimitador): Especifica o caractere que separa os valores no arquivo CSV
df = spark.read.option("delimiter", ";").csv(file_path, header=True, inferSchema=True)
PythonSchema (Esquema): Define explicitamente o esquema das colunas do DataFrame
Sobre definição de schema e os tipos que compoem as construção de um schema vamos ter um post dedicado.
from pyspark.sql.types import StructType, StructField, StringType, IntegerType
schema = StructType([
StructField("Nome", StringType(), True),
StructField("Idade", IntegerType(), True),
StructField("Cidade", StringType(), True)
])
df = spark.read.schema(schema).csv(file_path, header=True)
PythonNull Values (Valores Nulos): Define como os valores nulos estão representados no arquivo CSV
df = spark.read.option("nullValue", "NA").csv(file_path, header=True, inferSchema=True)
PythonDate Format (Formato de Data): Especifica o formato das datas no arquivo CSV
df = spark.read.option("dateFormat", "dd-MM-yyyy").csv(file_path, header=True, inferSchema=True)
PythonNeste post, aprendemos como ler arquivos CSV usando PySpark no ambiente Databricks. Exploramos várias opções comuns que podem ser usadas para personalizar a leitura dos arquivos. Nos próximos posts, veremos como manipular os dados lidos e gerar resultados a partir deles
Esse é o primeiro passo para começar a trabalhar com PySpark e Databricks lendo arquivos CSV. Nos próximos posts, continuaremos a explorar como manipular esses dados e gerar resultados úteis