Thursday, March 24, 2022

Spark SQL, Dataframe and Dataset

 

Spark: Spark SQL, Dataframe and Dataset

  1. RDD is low-level and type-safe API.
  2. RDDs are mainly for semi-structured and non-structured data but is easier to write inefficient code over RDD.
RDD operation
  1. DataFrame has Column and schema and structure data.
  2. Dataframe provides High-Level abstraction and provides DSL and query language to manipulate and extract data.
Dataset Operation
RDD vs DataSet GroupBy

DataSets

listingDS.groupByKey(ls => ls.zipCode).agg(avg($ “price”).as[Double])
val ds = spark.read.json(“/databricks-public-datasets/data/iot/iot_devices.json”).as[DeviceIoTData]
myDF.toDS /rdd.toDS
Typed Transformation on DataSet
groupByKey on DataSet
KeyValueGroupedDataset Aggeration Operation which Returns Dataset Back
agg(avg($"columnname").as[Double]) ---> Returns Dataset 
ReduceByKey using reduceGroups
Aggregator Function Contract
Implementing of Aggregate for string concatenate

No comments: