python spark dataframe_pyspark dataframe 常用操作
spark dataframe派生于RDD类,但是提供了非常强大的数据操作功能。当然主要对类SQL的支持。
在实际工作中会遇到这样的情况,主要是会进行两个数据集的筛选、合并,重新入库。
首先加载数据集,然后在提取数据集的前几行过程中,才找到limit的函数。
而合并就用到union函数,重新入库,就是registerTemple注册成表,再进行写入到HIVE中。
1、union、unionAll、unionByName,row 合并(上下拼接)
data_all = data_neg.unionByName(data_pos)
2、dataframe 样本抽样
data_all.sample(False, 0.5, 1000).count()
3、条件过滤
data_all.filter("label >= 1").count()
4、注册为临时表,再使用spark.sql 对dataframe进行操作
res = predictions.select("user_log_acct", split_udf('probability').alias('probability'))
res.registerTempTable("tmp")
spark.sql("insert overwrite table dev.dev_result_temp select user_log_acct,probability from tmp")
spark.stop()
创建和保存spark dataframe:
spark.createDataFrame(data, schema=None, samplingRatio=None),直接创建
其中data是行或元组或列表或字典的RDD、list、pandas.DataFrame。
df = spark.createDataFrame([
(1, 144.5, 5.9, 33, 'M'),
(2, 167.2, 5.4, 45, 'M'),
(3, 124.1, 5.2, 23, 'F'),
(4, 144.5, 5.9, 33, 'M'),
(5, 133.2, 5.7, 54, 'F'),
(3, 124.1, 5.2, 23, 'F'),
(5, 129.2, 5.3, 42, 'M'),
], ['id', 'weight', 'height', 'age', 'gender']) #直接创建Dataframe
df = spark.createDataFrame([{'name':'Alice','age':1},
{'name':'Polo','age':1}]) #从字典创建
schema = StructType([
StructField("id", LongType(), True),
StructField("name", StringType(), True),
StructField("age", LongType(), True),
StructField("eyeColor", StringType(), True)
])
df = spark.createDataFrame(csvRDD, schema) #指定schema。
spark.read 从文件中读数据
>>> airports = spark.read.csv(airportsFilePath, header='true', inferSchema='true', sep='\t')
>>> rdd = sc.textFile('python/test_support/sql/ages.csv') #可以用这种方法将用逗号分隔的rdd转为dataframe
>>> df2 = spark.read.csv(rdd)
>>> df = spark.read.format('json').load('python/test_support/sql/people.json')
>>> df1 = spark.read.json('python/test_support/sql/people.json')
>>> df1.dtypes
[('age', 'bigint'), ('name', 'string')]
>>> rdd = sc.textFile('python/test_support/sql/people.json')
>>> df2 = spark.read.json(rdd)
>>> df = spark.read.text('python/test_support/sql/text-test.txt')
>>> df.collect()
[Row(value='hello'), Row(value='this')]
>>> df = spark.read.text('python/test_support/sql/text-test.txt', wholetext=True)
>>> df.collect()
[Row(value='hello\nthis')]
Spark function
1)foreach(f),应用f函数,将df的每一行作为f函数的输入
例如:
def f(person):
print(person.name)
df.foreach(f)
2) apply(udf)
3) map(f),应用f函数,作用对象为rdd的每一行
参考:https://blog.csdn.net/kittyzc/article/details/82862089
python spark dataframe_pyspark dataframe 常用操作相关推荐
- Spark SQL概述,DataFrames,创建DataFrames的案例,DataFrame常用操作(DSL风格语法),sql风格语法
一. Spark SQL 1. Spark SQL概述 1.1. 什么是Spark SQL Spark SQL是Spark用来处理结构化数据的一个模块,它提供了一个编程抽象叫做DataFrame并且作 ...
- python colorlist_Python list的常用操作
Python list列表的用法: 序列是Python中常用的数据结果,主要用于存放数据(同一个序列可以存放不同类型的数据). 1. 序列的常用操作: 1.1 索引 1.2 分片 1.3 相加 1.4 ...
- 【python】数字验证常用操作
数字验证常用操作 运行参数获取 OptionParser ArgumentParser sys.argv 字典操作 update 遍历 json dump load 切片 os system path ...
- Python中集合的常用操作
一.集合的介绍 1.定义:集合是无序的,集合中的元素是唯一的,集合一般用于元组或者列表中的元素去重. 2.特性:集合的目的是将不同的值存放在一起,不同的集合间用来做关系运算,无须纠结于集合中的单个值. ...
- pandas库--DataFrame常用操作
文章目录 前言 一.DataFrame创建 1.基于列表创建 2.基于字典创建 二.查询 1.df直接查询 ① 查询一列 ② 查询多列 ③ 条件查询 2.query()方法 ① 条件查询 ② 带有变量 ...
- dataframe常用操作_Pandas模块基础及常用方法
Pandas是基于Numpy的数据处理与分析模块.包含两个最重要的基本类型:Series和DataFrame.其中Series类似numpy的一维数组,DataFrame类似二维数组,但可存储不同类型 ...
- Python 之 os 模块常用操作
我们知道,使用 Python 内置的库函数, open() 函数可以对文本文件进行读写操作,那么这是在文件层面上的操作,如果说我们想对文件夹进行增.删.改.查时,又该如何去做呢? Python 拥有强 ...
- 【openpyxl】python处理excel的常用操作
文章目录 openpyxl 相关处理Excel的python库 openpyxl安装 openpyxl使用 基本概念 创建加载和保存 操作和修改 openpyxl openpyxl是一个处理Excel ...
- python字符串、元组常用操作
常用字符串操作函数: #Author:CGQ name="I \tam ChenGuoQiang" print(name.capitalize())#首字母大写,其他都小写 pri ...
最新文章
- GitHub从入门到精通
- 述职答辩提问环节一般可以问些什么_2020上海市职称评审答辩注意事项
- Git 学习笔记 —— 常用命令
- 《101 Windows Phone 7 Apps》读书笔记-PASSWORDS SECRETS
- mysql中的自关联详解_Laravel - MySQL数据库的使用详解6(Eloquent ORM用法3:模型关联、关联查询)...
- Atitit各种SDM 软件开发过程SDP sdm的ddd tdd bdd设计
- Spark MLlib之K-Means聚类算法
- weka manual 3.6 翻译:1.1 引言
- NFS挂载及写入故障
- c 语言生成json 文件,如何用c语言反序列化JSON文件#
- -Android的发展webservice-号码归属地查询
- 30. 价格区间设置
- 23种设计模式及其应用场景
- 腾讯2014实习北京笔试
- Qt的project文件的设置相关
- OA软件办公用品分类设置,实现办公用品分类透明化
- 苹果cms对接双端android源码,苹果cms影视双端APP搭建教程
- python单引号和什么的作用几乎是一样的_python里的单引号和双引号的有什么作用...
- 扫地机器人基本设计方案
- 京东商品列表API接口-(item_search-按关键字搜索京东商品API接口),京东API接口
热门文章
- 在保护继承中基类的共有成员_C#初学者教程系列11:继承
- humanize时间库使用及汉化
- Postgresql时间处理
- mysql教程为什么很多都用dos_在dos操作mysql基础教程详解
- sklearn中的make_blobs的用法
- 21 | 哈希算法(上):如何防止数据库中的用户信息被脱库?
- python爬取网页表格数据匹配,python爬虫——数据爬取和具体解析
- 【离散数学中的数据结构与算法】四 加法法则与乘法法则
- 【OS学习笔记】二十八 保护模式八:任务切换对应的汇编代码之内核代码
- 求一个有限长度字符串 最长的有序可重复字符串长度