Spark DataFrame简介(二)

Spark DataFrame简介(二)

Spark DataFrame基础操作

 

创建SparkSession和SparkContext

val spark = SparkSession.builder.master("local").getOrCreate()
val sc = spark.sparkContext

 

从数组创建DataFrame

spark.range(1000).toDF("number").show()

 

指定Schema创建DataFrame

val data = Seq(
  Row("A", 10, 112233),
  Row("B", 20, 223311),
  Row("C", 30, 331122))

val schema = StructType(List(
  StructField("name", StringType),
  StructField("age", IntegerType),
  StructField("phone", IntegerType)))

spark.createDataFrame(sc.makeRDD(data), schema).show()

 

 

从JSON文件加载DataFrame

/* data.json
   {"name":"A","age":10,"phone":112233}
   {"name":"B", "age":20,"phone":223311}
   {"name":"C", "age":30,"phone":331122}
 */
spark.read.format("json").load("/Users/tobe/temp2/data.json").show()

 

 

从CSV文件加载DataFrame

/* data.csv
   name,age,phone
   A,10,112233
   B,20,223311
   C,30,331122
 */
spark.read.option("header", true).csv("/Users/tobe/temp2/data.csv").show()

 

 

读取MySQL数据库加载DataFrame

/* data.csv
   name,age,phone
   A,10,112233
   B,20,223311
   C,30,331122
 */
spark.read.option("header", true).csv("/Users/tobe/temp2/data.csv").show()

 

 

RDD转DataFrame

/* data.csv
   name,age,phone
   A,10,112233
   B,20,223311
   C,30,331122
 */
spark.read.option("header", true).csv("/Users/tobe/temp2/data.csv").show()

 

 

创建Timestamp数据

Spark的TimestampType类型与Java的java.sql.Timestamp对应,

/* data.csv
   name,age,phone
   A,10,112233
   B,20,223311
   C,30,331122
 */
spark.read.option("header", true).csv("/Users/tobe/temp2/data.csv").show()

 

 

创建DateType数据

Spark的DateType类型与Java的java.sql.Date对应,

/* data.csv
   name,age,phone
   A,10,112233
   B,20,223311
   C,30,331122
 */
spark.read.option("header", true).csv("/Users/tobe/temp2/data.csv").show()

 

 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/119645.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 图像去噪序列——BM3D图像去噪模型实现

    图像去噪序列——BM3D图像去噪模型实现1.BM3D模型简介BM3D模型是一个两阶段图像去噪方法,主要包含两个步骤:(1)在噪声图像上,利用局部区域搜索相似块,并进行堆叠,在变换域(DCT域、FFT域)利用硬阈值去噪方法对堆叠的图像块进行去噪,获得堆叠相似块的估计值,最后,根据均值权重进行聚合;(2)通过步骤(1)获取初步估计的图像,在初步估计的图像上进行相似块的聚合;然后,利用维纳协同滤波进行图像去噪,从而,获取最后的去…

    2022年6月4日
    29
  • C#中虚方法(virtual)详解

    C#中虚方法(virtual)详解虚方法如何定义?虚方法怎么声明?虚方法的规则是什么?虚方法如何进行调用?虚方法的作用是什么?虚方法有什么好处?虚方法使用时注意什么?

    2022年9月4日
    2
  • 再谈单链表

    再谈单链表

    2021年9月12日
    44
  • MSDN Windows 7 旗舰版 序列号

    MSDN Windows 7 旗舰版 序列号 GTWV3-KH84H-M94BG-PVT2W-JFPRW89Q2G-GBRGH-KFWRJ-Q72FD-GHYB7J3X6R-HPF6X-FQRDR-WTPM7-J92GK7KG4K-T2PTK-8YGQT-QX68X-RGRQ3TQMMV-43FFG-RGXMY-KMVFY-MB8JW8483D-TTKCX-CTDR6-XQXTH-X9JG4BVFKK-9X3FC-XPF4D-W8GTF

    2022年7月20日
    14
  • XML转换_xml文件转化为excel格式

    XML转换_xml文件转化为excel格式xml文件<?xmlversion=”1.0″encoding=”utf-8″?><ModelMetadataversion=”1″><!–SpatialReferenceSystem–><SRS>EPSG:4326</SRS><!–OrigininSpatialReferenceSystem–><SRSOrigin>1222.02055172,31.

    2022年8月22日
    13
  • Go语言开发环境_如何搭建语言培训平台

    Go语言开发环境_如何搭建语言培训平台前言:在《高效能人士的七个习惯》一书中有这么一句话“学而不做等于没学,知而不做等于无知”,所以学习一门新语言光看是不行的,必须身体力行才可以,如果不实践的话最终也只是无知的状态。对于学习语言来说,“做”对应的是编码、调试、运行等,在进行这些工作之前,我们必须安装好编码和调试用的编辑器,运行所需的环境等,这篇文章便是和大家介绍关于go语言开发的环境搭建。一、安装go语言开发包1….

    2022年10月12日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号