fe

缺点

  • 不方便添加新的优化策略
  • 线程安全问题

Spark SQL支持三种语言

  • java
  • Scala
  • python

DataFrame

  • 大规模数据化结构能历、提高了运算能力
  • 从sql到dataFrame的转化,支持sql查询
  • RDD是分布式的java对象的集合,对象颞部结构不可知
  • dataframe以rdd为基础的分布式数据集,提供了详细的结构信息

DataFrame的创建

SparkSession

dataframe的常用操作

df = spark.read.json("people.json")
df.printSchema()     查看表的结构
df select(df['name'],df['age']+1).show()df.filter(df['age']>20).show()
df.groupby("age").count().show()df.sort(df['age'] desc()).show()
df.sort(df['age'].desc(),df['name'].asc()).show()

利用反射机制推断RDD的模式

读取Mysql数据库中的数据

DataFrame的创建

from pyspark import SparkContext,SparkConf
from pyspark.sql import SparkSession
spark = SparkSession.builder.config(conf = SparkConf()).getOrCreate()# 分布式读取文件
spark.read.text("people.txt")  spark.read.format("text").load("people.txt")
spark.read.json("people.json")  spark.read.format("json").load("people.json")
spark.read.parquet("people/parquet")  spark.read.format("parquet").load("people.parquent")#文件保存  最后保到一个目录
df.write.txt("people.txt")
df.write.json("people.json")
df.write.parquent("people.parquent")# dataFrame的一些常用操作df.printSchema()
dat.select('_c1').show()
df.filter(df['age']>20).show()
df.groupby("age").count().show()
df.sort(df["age"].desc()).show()
df.sort(df["age"].desc(),df['name'].asc()).show()

RDD转换得到dataFrame

利用反射机制推断RDD模式

#用ROW对象去封装一行一行的数据
from pyspark.sql import ROW
people = spark.sparkContext.textFile("file:///file_path").map(lambda x:x.split(",")).map(lambda x:ROW(NAME= P[0],age = int(p[1])))schemaPeople = spark.createDataFrame(people)
#必须注册为临时表才供下面的查询使用
schemaPeople.createOrReplaceTempView("people")
personDF = spark.sql("select name,age from people where age>20")
personsDRR = personsDF.rdd.map(lambda p:"Nmae"+p.name+","+age:"+str()p.age))
personsRDD.foreach(print)

spark中dataframe解析_Spark-SQL相关推荐

  1. spark中dataframe解析_Spark 结构流处理介绍和入门教程

    概念和简介 Spark Structured Streaming Structured Streaming 是在 Spark 2.0 加入的经过重新设计的全新流式引擎.它使用 micro-batch ...

  2. spark中dataframe解析_SparkSql 中 JOIN的实现

    Join作为SQL中一个重要语法特性,几乎所有稍微复杂一点的数据分析场景都离不开Join,如今Spark SQL(Dataset/DataFrame)已经成为Spark应用程序开发的主流,作为开发者, ...

  3. 使用Spark中DataFrame的语法与SQL操作,对人类数据进行处理,比较学历与离婚率的关系

    简介 整理Kaggle上的人类信息数据 Machine-Learning-Databases,这个数据集已经有二十多年的历史,虽然历史久远,但是格式明确,是比较好的入门数据集. 通过Spark中的Da ...

  4. python中spark有什么功能_Spark SQL是什么,提供的主要功能有哪三种?

    Spark SQL允许大家在Python.Java以及Scala中使用数据帧;利用多种结构化格式读取并写入数据;通过SQL进行大数据查询. Spark SQL属于Spark用于处理结构化与半结构化数据 ...

  5. Spark中DataFrame 基本操作函数

    DataFrame的基本操作函数 原文链接 https://blog.csdn.net/u010003835/article/details/106436091?utm_medium=distribu ...

  6. Spark中dataframe里data.drop()和data.na.drop()的区别

    问题描述:原始数据data总行数是1303638,使用data.drop()后数据总行数是1303638,使用data.na.drop()后数据总行数是0:为啥data.drop()没有丢弃null或 ...

  7. 从 Spark 的 DataFrame 中取出具体某一行详解

    Spark 中 DataFrame 是 RDD 的扩展,限于其分布式与弹性内存特性,我们没法直接进行类似 df.iloc(r, c) 的操作来取出其某一行. 如何从 Spark 的 DataFrame ...

  8. 【求助】如何从 Spark 的 DataFrame 中取出具体某一行?我自己的一些思考

    如何从 Spark 的 DataFrame 中取出具体某一行? 根据阿里专家Spark的DataFrame不是真正的DataFrame-秦续业的文章-知乎的文章: DataFrame 应该有『保证顺序 ...

  9. Spark中RDD、DataFrame和DataSet的区别与联系

    一.RDD.DataFrame和DataSet的定义 在开始Spark RDD与DataFrame与Dataset之间的比较之前,先让我们看一下Spark中的RDD,DataFrame和Dataset ...

最新文章

  1. 如何快速写一个违背双亲委托机制的classloader
  2. springmvc整合redis_111 SpringBoot整合Servlet JSP Filter Listener
  3. dns服务器zones文件,DNS服务安装与配置
  4. w3 protocol
  5. 不喜欢 merge 分叉,那就用 rebase 吧
  6. Java内存模型–快速概述和注意事项
  7. 大学计算机需要论文吗,关于大学计算机论文范文.docx
  8. php 指定域名的cookie,php如何设置cookie对整个域名有效?
  9. Android瀑布流照片墙实现,体验不规则排列的美感
  10. 自然语言处理真实项目实战(20170822)
  11. Windows 系统软件有哪些「必备」软件?
  12. 过去的一年,2013!
  13. Android性能分析工具Systrace和TraceView的使用
  14. android 动画库
  15. AllenNLP框架学习笔记(模型篇之保存与加载)
  16. flexPaper制作在线文库阅读器思路
  17. 【图论-二分图】中山纪念中学暑期游Day15——【NOIP2013模拟联考3】沙耶的玩偶(doll)
  18. 安利7个冷门好用的在线工具,每一个都足够惊艳
  19. 建议收藏!让造价员疯传的100条知识,没有师傅也入门
  20. 比金蝶1000元服务还强的SQL语句

热门文章

  1. 第四十六期:关于云存储的五大优势
  2. java学习(53):接口的定义和创建
  3. [机器学习笔记]Note7--神经网络:学习
  4. 邮箱无权访问 上的 jira是怎么回事_蚂蚁庄园答案2020年11月6日汇总 小鸡宝宝考考你每日答案为你呈上|蚂蚁|庄园-360GAME...
  5. 【刷题】洛谷 P2709 小B的询问
  6. 部署项目到jetty
  7. 真机调试及上线简略流程
  8. word2vec相关资料
  9. VS 2012 找回消失的“创建单元测试”
  10. PHPUnit安装、用法、测试(三)