chispa 之 Conjunto de datos

@InterfaceStability.Stable
public class Dataset<T>
extends Object
implements scala.Serializabl

1) El conjunto de datos es una colección fuertemente tipada para un campo específico

2) Cada conjunto de datos tiene una vista sin tipo llamada DataFrame, que es un conjunto de datos de tipo Row, lo que significa que DataFrame es un caso especial de Dataset.

3) Similar a RDD, DataSet contiene dos operaciones: Transformación y Acción.

4) Dos formas de crear un conjunto de datos:

Utilice el método de lectura de SparkSession:

val people = spark.read.parquet("...").as[Person]  // Scala
Dataset<Person> people = spark.read().parquet("...").as(Encoders.bean(Person.class)); // Java

Conversión a través del conjunto de datos existente:

val names = people.map(_.name)  // in Scala; names is a Dataset[String]
Dataset<String> names = people.map((Person p) -> p.name, Encoders.STRING)); // in Java 8

5) La relación entre Dataset, RDD y DataFrame:

Spark nos proporciona dos nuevas abstracciones en SparkSQL, a saber, DataFrame y DataSet. ¿Cuál es la diferencia entre ellos y RDD? Primero mire la generación de la versión:
RDD (Spark1.0) -> Dataframe (Spark1.3) -> Dataset (Spark1.6)

Si se dan los mismos datos a estas tres estructuras de datos, después de calcularlas por separado, todas darán el mismo resultado. La diferencia es su eficiencia de ejecución y su método de ejecución.

En versiones posteriores de Spark, DataSet reemplazará gradualmente a RDD y DataFrame como la única interfaz API .

Para obtener un resumen específico de la relación entre los tres, consulte " La diferencia entre RDD y DataFrame y DataSet "

Supongo que te gusta

Origin blog.csdn.net/yuan1164345228/article/details/108606543
Recomendado
Clasificación