美文网首页
Spark结构化API —— Dataset

Spark结构化API —— Dataset

作者: lukeyan | 来源:发表于2021-04-01 22:45 被阅读0次

Dataset是结构化API的基本类型。Dataset是具有严格的Java虚拟机语言特性,仅与Scala和Java一起使用。

一、何时使用Dataset

  • 当你要执行的操作无法使用DataFrame操作表示时

  • 如果需要类型安全,并且愿意牺牲一定性能来实现它

二、创建DataSet

  • Java编码器
import org.apache.spark.sql.Encoders;

    public class Flight implements Serializable {
        String destCountryName;
        String originCountryName;
        Long count;
    }

Dataset<Flight> flights = spark.read().parquet("path").as(Encoders.bean(Flight.class));
  • Scala Case类
case class Flight (destCountryName: String, originCountryName: String, count: Bigint)
val flightDf = spark.read.parquet("path")
val flights = flightsDF.as[Flight]

三、动作操作

四、转换操作

Dataset上的转换操作和DataFrame上的转换操作相同。

五、连接

连接操作的用法与DataFrame一样,但是DataSet还提供了更复杂的方法,joinWith。
joinWith大致等同于一个Co-group,将两个Dataset整合成一个,每一列都表示一个Dataset。并可以相应地进行操作

六、分组和聚合

相关文章

网友评论

      本文标题:Spark结构化API —— Dataset

      本文链接:https://www.haomeiwen.com/subject/opgahltx.html