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 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)
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()
data = spark.read.csv(
'data/stocks_price_final.csv',
sep = ',',
header = True,
)
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.
Para poder trabajar la estructura de un dataframe debemos definir el nombre de sus columnas, el tipo de datos, valores nulos y la metadata.