Spark RDD转成Dataset的两种方式

Kopei article

RDD to Datasets

Spark SQL支持两种方式把RDD转为Datasets. 第一种是使用反射reflection取得到RDD的schema, 这种方式需要预先知道数据的结构。如果是scala的接口,RDD包含case class(定义了表的结构)可以自动转化RDD到dataframe。
第二种方式是通过可编程接口对运行时的RDD进行构建datasets的schema, 这种方法更加动态。当case classes没有预先定义(比如,记录的结构被编码成了字符串),一个DataFrame可以通过如下三步创建:

  • 从原RDD创建一个新的RDD Rows;
  • 通过创建StructType来代表结构和第一步的Rows对应上去.
  • 通过SparkSession.createDataFrame方法把结构应用到Rows上.
  • Post title:Spark RDD转成Dataset的两种方式
  • Post author:Kopei
  • Create time:2020-07-11 00:00:00
  • Post link:https://kopei.github.io/2020/07/10/bigdata-2020-07-11-create-dataframe-from-rdd-in-spark/
  • Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.
 Comments
On this page
Spark RDD转成Dataset的两种方式