Leer data

Componentes Spark

RDDs: Son el mínimo necesario para utilizar en Spark, son datos distribuidos a lo largo de todo el Cluster. No poseen estructura, inmutables, son solo un conjunto de datos, listas, tuplas, etc.

Dataframe: Son archivos con formato de tabla, poseen columnas y pueden manejar distintos tipos de datos.

Leer un dataframe

# Leer CSV
csv_file = 'data/stocks_price_final.csv'
df = spark.read.csv(csv_file)

# Leer PARQUET
parquet_file = 'data/stocks_price_final.parquet/*'
data1 = spark.read.parquet(parquet_file)

Leer: Definir headers y agregar delimitador

El delimitador se agrega al definir leer con el atributo .option(). Con toDF podemos agregar headers.

FILE_PATH = 'data/stocks_price_final.csv'
input = spark.read.format('csv')
	.option('delimiter', ';')
	.option('header', True).load(FILE_PATH)
input = input.toDF('A', 'B', 'C', 'D')
input.show()

Alternativa para leer archivos

data = spark.read.csv(
    'data/stocks_price_final.csv',
    sep = ',',
    header = True,
    )

Estructurar data

Spark infiere el tipo de esquema que debe poseer la data, pero generalmente este no es el adecuado, es por eso que necesitamos modificar la estructura de la data.

StructType

Para poder trabajar la estructura de un dataframe debemos definir el nombre de sus columnas, el tipo de datos, valores nulos y la metadata.