文档章节

使用Scala编程方式将RDD转换成DataFrame

别寒
 别寒
发布于 2017/07/26 15:43
字数 151
阅读 13
收藏 0
package com.hhb.spark.sql

import org.apache.spark.{SparkConf, SparkContext}
import org.apache.spark.sql.{Row, SQLContext}
import org.apache.spark.sql.types.{IntegerType, StringType, StructField, StructType};

/**
  * Created by dell on 2017/7/26.
  */
object RDD2DataFrameProgrammatically extends App{
  val conf = new SparkConf()
    .setMaster("local")
    .setAppName("RDD2DataFrameProgrammatically")
    .set("spark.testing.memory", "2147480000")
  val sc = new SparkContext(conf)
  val sqlContext = new SQLContext(sc)

  // 构造出元素为Row的普通RDD
  val studentRDD = sc.textFile("c://students.txt", 1)
    .map{ line => Row(line.split(",")(0).toInt, line.split(",")(1), line.split(",")(2).toInt) }

  // 编程方式动态构造元数据
  val structType = StructType(Array(
    StructField("id", IntegerType, true),
    StructField("name", StringType, true),
    StructField("age", IntegerType, true)
  ))

  // 进行rdd到dataframe的转换
  val studentDF = sqlContext.createDataFrame(studentRDD, structType)

  // 继续正常使用
  studentDF.registerTempTable("students")

  val teenagerDF = sqlContext.sql("select * from students where age <= 18")

  val teenagerRDD = teenagerDF.rdd.collect().foreach(println(_))

}

© 著作权归作者所有

共有 人打赏支持
别寒
粉丝 30
博文 271
码字总数 137605
作品 0
永州
程序员
私信 提问
Spark SQL 笔记

官方参考文档: DataFrame 对于熟悉python的同学,Spark的DataFrame和python的DF很像。对于structured data files同学比较熟知的有xml、jason、parquet等。 关于parquet,请参考: 具体的df的...

youngbit007
2017/10/24
0
0
【Spark 2.0官方文档】Spark SQL、DataFrames以及Datasets指南

文档说明 本文是基于《Spark 官方文档》Spark SQL, DataFrames 以及 Datasets 编程指南 这篇文章翻译而来。 原文中关于R语言的部分本文档全都省略。 由于个人水平有限,有些地方难免翻译的不...

JackieYeah
2016/09/11
1K
0
Spark SQL 数据统计 Scala 开发小结

在这篇文章中: 1、RDD Dataset 和 DataFrame 速览 2、使用介绍 参考 1、RDD Dataset 和 DataFrame 速览 RDD 和 DataFrame 都是一个可以看成有很多行,每一行有若干列的数据集(姑且先按照记...

李德鑫
2017/08/16
0
0
基于spark1.3.1的spark-sql实战-01

sqlContext总的一个过程如下图所示: SQL语句经过SqlParse解析成UnresolvedLogicalPlan; 使用analyzer结合数据数据字典(catalog)进行绑定,生成resolvedLogicalPlan; 使用optimizer对res...

stark_summer
2015/05/19
0
0
Apache Spark APIs:RDDs,DataFrames,and Datasets

一.Resilient Distributed Dataset(RDD,弹性分布式数据集) RDD是过去的Spark中最主要的面向用户的API。RDD是数据元素的不可变的分布式集合,在集群中的节点上进行分区,它提供了低级的API...

阿猫阿狗Hakuna
09/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Vavr User Guide中英对照版

Vavr User Guide(Vavr用户指南) Daniel Dietrich, Robert Winkler - Version 0.9.2,2018-10-01 0. Vavr Vavr是Java 8 的对象函数式扩展,目标是减少代码行数,提高代码质量,提供了持久化集合...

白石
11分钟前
0
0
Spark2.40 Streaming编程指南

Spark Streaming编程指南 概观 一个快速的例子 基本概念 链接 初始化StreamingContext 离散流(DStreams) 输入DStreams和Receivers DStreams的转换 DStreams的输出操作 DataFrame和SQL操作 ...

天天爬网
12分钟前
0
0
oozie 调度pyspark

http://www.learn4master.com/big-data/pyspark/run-pyspark-on-oozie

MPRO
15分钟前
0
0
转:文件系统read,write缓存,有点意思

当我们在linux系统下写程序的时候,经常会读文件或者写文件,既然要操作文件,就会用文件操作函数,其中涉及读写的不乏有read/write或者fread/fwrite,但是我们应该选择哪一种呢,少安毋躁,...

臧教授
20分钟前
0
0
通过示例学习Javascript闭包

译者按: 在上一篇博客,我们通过实现一个计数器,了解了如何使用闭包(Closure),这篇博客将提供一些代码示例,帮助大家理解闭包。 原文: JavaScript Closures for Dummies 译者: Fundebug 为...

Fundebug
20分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部