`

spark rdd 和 DF 转换

阅读更多

RDD   -》 DF

 

有两种方式

一、

 

一、Inferring the Schema Using Reflection

 

将 RDD[t]   转为一个 object ,然后 to df

 

val peopleDF = spark.sparkContext
  .textFile("examples/src/main/resources/people.txt")
  .map(_.split(","))
  .map(attributes => Person(attributes(0), attributes(1).trim.toInt))
  .toDF()

 

 

rdd 也能直接装 DATASet  要  import 隐式装换 类 import spark.implicits._

 如果  转换的对象为  tuple .   转换后  下标为 _1  _2   .....

 

 

 

二、Programmatically Specifying the Schema

 

把 columnt meta  和  rdd   createDataFrame 在一起

 

val peopleRDD = spark.sparkContext.textFile("examples/src/main/resources/people.txt")

// The schema is encoded in a string
val schemaString = "name age"

// Generate the schema based on the string of schema
val fields = schemaString.split(" ")
  .map(fieldName => StructField(fieldName, StringType, nullable = true))
val schema = StructType(fields)

 

val rowRDD = peopleRDD
  .map(_.split(","))
  .map(attributes => Row(attributes(0), attributes(1).trim))

// Apply the schema to the RDD
val peopleDF = spark.createDataFrame(rowRDD, schema)

// Creates a temporary view using the DataFrame
peopleDF.createOrReplaceTempView("people")

 

 

 

 

 

 

DF  to  RDd

 

val tt = teenagersDF.rdd

 

 

 

 rdd to  ds  会有  rdd[object] 没有TODS 的异常

 

保险搞法

val schema = new StructType()
  .add(StructField("client_date", StringType, true))
  .add(StructField("client_time", StringType, true))
  .add(StructField("server_date", StringType, true))
  .add(StructField("server_time", StringType, true))

。。。。。。

 

 val schema = new StructType()

  .add(StructField("client_date", StringType, true))
  .add(StructField("client_time", StringType, true))
  .add(StructField("server_date", StringType, true))
  .add(StructField("server_time", StringType, true))

 。。。。。。

 

然后 

 

import spark.implicits._
var cubesDF = spark.createDataFrame(cubesRDD, schema)

 

0
0
分享到:
评论

相关推荐

    Java和scala实现 Spark RDD转换成DataFrame的两种方法小结

    Java 和 Scala 实现 Spark RDD 转换成 DataFrame 的两种方法小结 在本文中,我们将讨论如何使用 Java 和 Scala 将 Spark RDD 转换成 DataFrame,並且介绍两种实现方法。 准备数据源 在项目下新建一个 student.txt...

    将string类型的数据类型转换为spark rdd时报错的解决方法

    ### 将String类型的数据类型转换为Spark RDD时报错的解决方法 #### 背景介绍 在使用Apache Spark进行数据处理时,我们经常会遇到需要将不同格式的数据转换为Spark RDD(弹性分布式数据集)的情况。RDD是Spark中最...

    spark rdd转dataframe 写入mysql的实例讲解

    在Spark中,RDD(弹性分布式数据集)是其最基本的抽象数据类型,而DataFrame则是在Spark 1.3.0版本引入的一种高级数据处理模型,它提供了更强大的数据处理能力和更高效的执行性能。DataFrame构建在RDD之上,通过...

    RDD、DataFrame和DataSet三者之间的关系

    Spark是大数据处理领域的一款高效、通用且可扩展的计算框架,它提供了三种主要的数据抽象:RDD(Resilient Distributed Datasets)、DataFrame和DataSet。这三种数据抽象分别针对不同的使用场景和需求,各自拥有独特...

    GeoMesa Spark.docx

    2. **RDD和DataFrame创建:**GeoMesa Spark支持创建Spark RDD和DataFrame,使得开发者能够以更高级别的抽象处理空间数据。 3. **数据写入:**该库还支持将Spark RDD和DataFrame写回到GeoMesa Accumulo或其他Geo...

    spark部署和基础代码的编写

    编写简单的Spark应用程序:学习使用Scala、Java、Python或R语言编写Spark程序,掌握Spark API的基本用法,如数据读取、转换和行动操作。 2. **Spark概述** - **什么是Spark**:Spark是一个用于大规模数据处理的...

    pandas和spark dataframe互相转换实例详解

    本文将详细介绍如何在 `pandas` 和 `Spark DataFrame` 之间进行数据转换,以便在不同场景下灵活使用这两种工具。 首先,我们来创建一个 `Spark DataFrame` 从现有的 `pandas DataFrame`。`SparkSession` 是 Spark 2...

    Spark编程基础(Python版).rar

    3. **PySpark基础**:深入理解PySpark API,包括创建SparkContext,加载数据,以及执行基本的转换和行动操作。例如,`sc.parallelize()`用于创建RDD,`df.show()`用于显示DataFrame。 4. **数据读写**:学习如何...

    Spark 1.0.0 API (java)

    RDD通过分区分散在多个节点上,支持转换和行动操作。 - **转换(Transformations)**:这些操作创建新的RDD,例如`map()`、`filter()`、`reduceByKey()`等,它们不会立即执行,而是创建一个任务图形。 - **行动...

    spark2.1.0 JAVA API

    5. **DataFrame/Dataset**: Spark SQL引入的DataFrame和Dataset是更高级的数据抽象,它们提供了强类型和SQL查询的能力。在Java中,可以通过`SparkSession`来操作DataFrame和Dataset。例如: ```java SparkSession ...

    code: spark for python developer

    2. RDD操作:包括map、flatMap、reduceByKey、join等,用于数据转换和并行计算。 五、Spark SQL 1. 注册DataFrame为临时表:`df.createOrReplaceTempView()` 2. SQL查询:使用`spark.sql()`执行SQL语句,返回...

    Spark DataFrame详解.zip

    Spark DataFrame是Apache Spark中的核心数据结构,它是基于RDD(弹性分布式数据集)的进一步抽象,提供了更加高级...通过对DataFrame的理解和熟练运用,开发者能够更好地驾驭Spark,进行大规模数据的清洗、转换和分析。

    Spark python API 函数调用学习

    4. **转换(Transformations)**:RDD、DataFrame和Dataset可以进行一系列转换,如`map()`, `filter()`, `flatMap()`, `groupByKey()`, `reduceByKey()`, `join()`, `distinct()`等。这些转换定义了数据处理逻辑,但...

    spark简单的使用案例

    在Spark中,转换操作(如`map`)并不会立即执行,而是等到有动作(如`count`、`collect`)触发时才会进行。这种延迟计算策略有助于优化性能。例如,我们可以计算单词总数: ```python wordCount = words.count() ``...

    spark2.x实战

    - **集成性**: 能够与其他 Spark 组件无缝集成,如 Spark SQL 和 Spark Streaming。 #### 三、课程基础环境 - **版本**: 使用 Spark 2.2 或更高版本。 - **配置**: 示例配置命令如下: ```bash spark-shell --...

    Hadoop实时数据处理框架Spark技术教程

    - **Spark的起源:**Spark最初由加州大学伯克利分校的AMPLab开发,目的是为了克服Hadoop MapReduce在迭代计算和数据处理速度上的局限性。 - **Hadoop的联系:**尽管Spark是为了改善Hadoop的不足而设计的,但它...

    Spark SQL编程初级实践-答案-实验报告-纠正版

    通过本次实验,学生不仅掌握了Spark SQL的基本操作方法,还学会了如何将RDD转换为DataFrame,并能够利用DataFrame进行各种数据处理和分析。此外,还学习了如何利用DataFrame与外部数据源(如MySQL数据库)进行交互,...

    大数据技术分享 Spark技术讲座 避免性能坑洼 - Spark上的数据科学Python扩展 共26页.pdf

    - 合理选择RDD(弹性分布式数据集)和DataFrame/DataSet之间的转换。 - 优化UDF(用户定义函数)的设计与使用。 - 避免不必要的数据序列化和反序列化操作。 2. **Python在Spark上的扩展**: - **背景**:随着...

    SparkSql.pdf

    MapReduce模型在处理大规模数据时,需要大量的中间计算和存储开销,而Spark SQL通过转换为RDD并利用其分布式计算能力,极大地提升了执行效率。 接下来,我们探讨Spark SQL的特点。Spark SQL具有以下特点: 1)易...

Global site tag (gtag.js) - Google Analytics