spark中dataframe解析_Spark-SQL
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相关推荐
- spark中dataframe解析_Spark 结构流处理介绍和入门教程
概念和简介 Spark Structured Streaming Structured Streaming 是在 Spark 2.0 加入的经过重新设计的全新流式引擎.它使用 micro-batch ...
- spark中dataframe解析_SparkSql 中 JOIN的实现
Join作为SQL中一个重要语法特性,几乎所有稍微复杂一点的数据分析场景都离不开Join,如今Spark SQL(Dataset/DataFrame)已经成为Spark应用程序开发的主流,作为开发者, ...
- 使用Spark中DataFrame的语法与SQL操作,对人类数据进行处理,比较学历与离婚率的关系
简介 整理Kaggle上的人类信息数据 Machine-Learning-Databases,这个数据集已经有二十多年的历史,虽然历史久远,但是格式明确,是比较好的入门数据集. 通过Spark中的Da ...
- python中spark有什么功能_Spark SQL是什么,提供的主要功能有哪三种?
Spark SQL允许大家在Python.Java以及Scala中使用数据帧;利用多种结构化格式读取并写入数据;通过SQL进行大数据查询. Spark SQL属于Spark用于处理结构化与半结构化数据 ...
- Spark中DataFrame 基本操作函数
DataFrame的基本操作函数 原文链接 https://blog.csdn.net/u010003835/article/details/106436091?utm_medium=distribu ...
- Spark中dataframe里data.drop()和data.na.drop()的区别
问题描述:原始数据data总行数是1303638,使用data.drop()后数据总行数是1303638,使用data.na.drop()后数据总行数是0:为啥data.drop()没有丢弃null或 ...
- 从 Spark 的 DataFrame 中取出具体某一行详解
Spark 中 DataFrame 是 RDD 的扩展,限于其分布式与弹性内存特性,我们没法直接进行类似 df.iloc(r, c) 的操作来取出其某一行. 如何从 Spark 的 DataFrame ...
- 【求助】如何从 Spark 的 DataFrame 中取出具体某一行?我自己的一些思考
如何从 Spark 的 DataFrame 中取出具体某一行? 根据阿里专家Spark的DataFrame不是真正的DataFrame-秦续业的文章-知乎的文章: DataFrame 应该有『保证顺序 ...
- Spark中RDD、DataFrame和DataSet的区别与联系
一.RDD.DataFrame和DataSet的定义 在开始Spark RDD与DataFrame与Dataset之间的比较之前,先让我们看一下Spark中的RDD,DataFrame和Dataset ...
最新文章
- 如何快速写一个违背双亲委托机制的classloader
- springmvc整合redis_111 SpringBoot整合Servlet JSP Filter Listener
- dns服务器zones文件,DNS服务安装与配置
- w3 protocol
- 不喜欢 merge 分叉,那就用 rebase 吧
- Java内存模型–快速概述和注意事项
- 大学计算机需要论文吗,关于大学计算机论文范文.docx
- php 指定域名的cookie,php如何设置cookie对整个域名有效?
- Android瀑布流照片墙实现,体验不规则排列的美感
- 自然语言处理真实项目实战(20170822)
- Windows 系统软件有哪些「必备」软件?
- 过去的一年,2013!
- Android性能分析工具Systrace和TraceView的使用
- android 动画库
- AllenNLP框架学习笔记(模型篇之保存与加载)
- flexPaper制作在线文库阅读器思路
- 【图论-二分图】中山纪念中学暑期游Day15——【NOIP2013模拟联考3】沙耶的玩偶(doll)
- 安利7个冷门好用的在线工具,每一个都足够惊艳
- 建议收藏!让造价员疯传的100条知识,没有师傅也入门
- 比金蝶1000元服务还强的SQL语句
热门文章
- 第四十六期:关于云存储的五大优势
- java学习(53):接口的定义和创建
- [机器学习笔记]Note7--神经网络:学习
- 邮箱无权访问 上的 jira是怎么回事_蚂蚁庄园答案2020年11月6日汇总 小鸡宝宝考考你每日答案为你呈上|蚂蚁|庄园-360GAME...
- 【刷题】洛谷 P2709 小B的询问
- 部署项目到jetty
- 真机调试及上线简略流程
- word2vec相关资料
- VS 2012 找回消失的“创建单元测试”
- PHPUnit安装、用法、测试(三)