文档章节

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

别寒
 别寒
发布于 2017/07/26 15:43
字数 151
阅读 68
收藏 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
博文 273
码字总数 155300
作品 0
永州
程序员
私信 提问
加载中
请先登录后再评论。
【Spark篇】---SparkSQL初始和创建DataFrame的几种方式

一、前述 1、SparkSQL介绍 Hive是Shark的前身,Shark是SparkSQL的前身,SparkSQL产生的根本原因是其完全脱离了Hive的限制。 SparkSQL支持查询原生的RDD。 RDD是Spark平台的核心概念,是Spark...

osc_y4jbxqkl
2018/02/08
14
0
spark04--sparl sql大全

1、读取json格式的文件创建DataFrame java (spark1.6) scala(spark 1.6) java (spark 2.0++) 2、通过json格式的RDD创建DataFrame java(spark 1.6) 3、非json格式的RDD创建DataFrame 3.1 通过......

一个点一个点
2019/07/31
27
0
Spark SQL JAVA和Scala编写Spark SQL程序实现RDD转换成DataFrame+操作HiveContext+操作Mysql

一、 以编程方式执行Spark SQL查询 1. 编写Spark SQL程序实现RDD转换成DataFrame 前面我们学习了如何在Spark Shell中使用SQL完成查询,现在我们通过IDEA编写Spark SQL查询程序。 Spark官网提...

osc_ihb4vmpt
2019/08/16
10
0
36、将RDD转换为DataFrame

一、概述 为什么要将RDD转换为DataFrame?因为这样的话,我们就可以直接针对HDFS等任何可以构建为RDD的数据,使用Spark SQL进行SQL查询了。这个功能是无比强大的。想象一下,针对HDFS中的数据...

osc_sgztt2v6
2019/07/31
2
0
JAVA SparkSQL初始和创建DataFrame的几种方式

建议参考SparkSQL官方文档:http://spark.apache.org/docs/latest/sql-programming-guide.html 一、前述 1、SparkSQL介绍 Hive是Shark的前身,Shark是SparkSQL的前身,SparkSQL产生的根本原因...

osc_bkdv2it5
2019/08/19
2
0

没有更多内容

加载失败,请刷新页面

加载更多

插入,在PostgreSQL中重复更新吗? - Insert, on duplicate update in PostgreSQL?

问题: Several months ago I learned from an answer on Stack Overflow how to perform multiple updates at once in MySQL using the following syntax: 几个月前,我从关于堆栈溢出的答案......

技术盛宴
23分钟前
20
0
互联网的寒冬下各大一线互联网公司还在用SpringBoot这是为什么?

引言 现在各大技术社区 Spring Boot 的文章越来越多,Spring Boot 相关的图文、视频教程越来越多,使用 Spring Boot 的互联网公司也越来越多; Java 程序员现在出去面试, Spring Boot 已经成...

北柠Java
26分钟前
8
0
vue+elementui实现简易的列筛选功能实现。

一、简易效果图: 二、需求背景 大家都知道,后管类系统当中,有时一个列表可能有很多列需要展示,如下图所示,但是用户在使用系统的时候,往往会需要针对其中某几列进行数据提取,在展示列比...

一生懸命吧
28分钟前
60
0
批处理问题记录——数字实验bat

记录学习批处理时的问题 批处理为输入一个数字,如果大于等于一百,直接输出输入数字,如果小于一百会重复+1,直到100后输出。 问题是,如果不输入数字,直接空格的话,批处理会出错。 寻求一...

愤怒的乌老大
35分钟前
6
0
算法题汇总

计算两个字符串中的最大的相同字符串

佳幂小煜
45分钟前
27
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部