spark之データセット

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

1)データセットは特定のフィールドの強く型付けされたコレクションです

2)各データセットには、DataFrameと呼ばれる型指定されていないビューがあります。これは、Rowタイプのデータセットです。つまり、DataFrameはDatasetの特殊なケースです。

3)RDDと同様に、DataSetには変換とアクションの2つの操作が含まれます。

4)データセットを作成する2つの方法:

SparkSessionのreadメソッドを使用します。

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

既存のデータセットによる変換:

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)データセット、RDD、およびデータフレーム間の関係:

Sparkは、SparkSQLの2つの新しい抽象化、つまりDataFrameとDataSetを提供します。それらとRDDの違いは何ですか?最初にバージョン生成を確認します
。RDD(Spark1.0)—> Dataframe(Spark1.3)—> Dataset(Spark1.6)

これら3つのデータ構造に同じデータが与えられた場合、別々に計算された後、すべて同じ結果になります。違いは、実行効率と実行方法です。

Sparkの新しいバージョンでは、DataSetはRDDとDataFrameを唯一のAPIインターフェースとして徐々に置き換えます

3つの関係の具体的な概要については、「RDDとDataFrameおよびDataSetの違い」を参照してください

おすすめ

転載: blog.csdn.net/yuan1164345228/article/details/108606543