文档章节

使用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
基于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
Spark SQL 数据统计 Scala 开发小结

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

李德鑫
2017/08/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

精选Spring Boot三十五道必知必会知识点!

Spring Boot、Spring MVC 和 Spring 有什么区别? 1、Spring Spring最重要的特征是依赖注入。所有 SpringModules 不是依赖注入就是 IOC 控制反转。 当我们恰当的使用 DI 或者是 IOC 的时候,...

java知识分子
2分钟前
0
0
docker多容器部署lnmp环境

环境:RHEL7.5 ip:192.168.10.102,主机名:lb02 一、创建web、数据库目录 web网站目录为:/wwwroot,属主属组:www [root@lb02 ~]# mkdir /wwwroot[root@lb02 ~]# useradd -s /sbin/nolo...

人在艹木中
31分钟前
1
0
eclipse运行springboot项目报错‘找不到或无法加载主类’

这是一个很烦躁的问题~,往往困住大家好长时间,然后各种百度。借此,咱将这个问题有可能产生的原因进行一下总结。若有不完善之处欢迎大家在下面留言指出~~ Duang!问题出现 然后开始尝试解决...

Code辉
52分钟前
1
0
springboot oauth2 跨域设置

@Overridepublic void configure(HttpSecurity http) throws Exception { http .authorizeRequests() .antMatchers("/security/**") .authentica......

昆虫大侠
54分钟前
1
0
08-利用思维导图梳理JavaSE-泛型

08-利用思维导图梳理JavaSE-泛型 主要内容 1.泛型的基本概念 1.1.定义 1.2.使用前提 1.3.使用泛型的好处 2.泛型的使用 2.1.泛型类定义 2.2.泛型对象定义 2.3.泛型中的构造方法 2.4.泛型方法的...

飞鱼说编程
55分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部