Pyspark常用API总结
DF 类似于二维表的数据结果
| mame |
age |
| 狗山石 | 23 |
获取df的列名: df.columns 显示当前值 打印 df.show() show(2) show括号里面传入参数可以显示查看几行 show(2,False) False 是否全部显示 False 不隐藏
获取前10行数据 df.limit(10) 里面传递的一个整形 后面加上show() 可以打印
获取列值key df.select(["key"]) 传入参数写法 df.select([df[x] for x in keys]) 后面加上show() 可以打印
将每一行转化为json 并将行名,命名为wang df.select(to_json(struct([df["key"]])).alias("wang")).show()
把df格式转化列表 db.collect()
计算总数 db.count()
取出 db.take() 里面必须传入参数 除去2个
设置分区个数 db.repartition(5) 设置有5个partition 对 partition进行单独处理 db.foreachPartition(f) f 是一个函数
def f(iterator):
for x in iterator:
print(x) # 读取每个x,即每一条数据
print(x.asDict()) # 把 row的数据转化为 字典类型
news_data_rdd = df.rdd.mapPartitions(f).cache()
news_data_rdd = df.rdd.mapPartitions(lambda iterator: insert_from_memory(iterator, cur_index_name)).cache()
使用 mapPartitions 必须在此启动 news_data_rdd.count() 启动 news_data_rdd
df.select() 操作
from pyspark.sql.functions import to_json, struct,concat
# 将每一行转化为json 并将行名,命名为wang
df.select(to_json(struct([df["key"]])).alias("wang"))
# 将每一行转化为字符串 并将行名,命名为data
df.select(concat(*df.columns).alias('data'))
# 在窗口调试后面加上 show() 可以打印


df.select() 操作 # 在窗口调试后面加上 show() 可以打印
df.select(["*"]) # 选择全部数据
df.select(["name"]) # 选择对应列操作 df 的写入操作
df.select(to_json(struct(["key","json"])).alias("value")).write.format("kafka").option("kafka.bootstrap.servers",','.join(["emr2-header-1.ipa.aidigger.com:6667", "emr2-header-2.ipa.
aidigger.com:6667"])).option("topic","text").save()
df.write 写入操作
写入kafka
to_json(struct(["key","json"])).alias("value") 把df转化为json格式
df.select(to_json(struct(["key","json"])).alias("value")).write.format("kafka").option("kafka.bootstrap.servers",','.join(["ip", "ip
"])).option("topic","主题名字").save()
from pyspark.sql.functions import to_json, struct,concat
df.select(concat(*df.columns).alias('data')).show()






收藏的博客
PySpark SQL常用语法 df https://www.jianshu.com/p/177cbcb1cb6f
使用PySpark将kafka数据写入ElasticSearch https://blog.csdn.net/qq_37050993/article/details/90606527
Pyspark DataFrame读写 https://www.jianshu.com/p/d1f6678db183
pyspark读写操作 https://blog.csdn.net/zyj20200/article/details/81697786#33-%E5%86%99%E5%88%B0hive
pyspark系列--日期函数 https://blog.csdn.net/suzyu12345/article/details/79673569
pyspark系列 https://blog.csdn.net/suzyu12345/category_6653162.html
Pyspark常用API总结的更多相关文章
- html5 canvas常用api总结(一)
1.监听浏览器加载事件. window.addEventListener("load",eventWindowLoaded,false); load事件在html页面加载结束时发生 ...
- compass General 常用api学习[Sass和compass学习笔记]
compass 中一些常用api 包括一些浏览器hack @import "compass/utilities/general" Clearfix Clearfix 是用来清除浮动 ...
- java基础3.0:Java常用API
本篇介绍Java基础中常用API使用,当然只是简单介绍,围绕重要知识点引入,巩固开发知识,深入了解每个API的使用,查看JavaAPI文档是必不可少的. 一.java.lang包下的API Java常 ...
- C++ 中超类化和子类化常用API
在windows平台上,使用C++实现子类化和超类化常用的API并不多,由于这些API函数的详解和使用方法,网上一大把.本文仅作为笔记,简单的记录一下. 子类化:SetWindowLong,GetWi ...
- node.js整理 02文件操作-常用API
NodeJS不仅能做网络编程,而且能够操作文件. 拷贝 小文件拷贝 var fs = require('fs'); function copy(src, dst) { fs.writeFileSync ...
- js的常用api
JavaScript常用API总结 原创 2016-10-02 story JavaScript 下面是我整理的一些JavaScript常用的API清单. 目录 元素查找 class操作 节点操作 属 ...
- JS操作DOM常用API总结
<JS高程>中的DOM部分写的有些繁琐,还没勇气整理,直到看到了这篇博文 Javascript操作DOM常用API总结,顿时有了一种居高临下,一览全局的感觉.不过有时间还是得自己把书里面的 ...
- request对象常用API 获取请求参数的值 request应用 MVC设计模式
1 request对象常用API 1)表示web浏览器向web服务端的请求 2)url表示访问web应用的完整路径:http://localhost:8080/day06/Demo1 ...
- 【OpenGL游戏开发之二】OpenGL常用API
OpenGL常用API 开发基于OpenGL的应用程序,必须先了解OpenGL的库函数.它采用C语言风格,提供大量的函数来进行图形的处理和显示.OpenGL库函数的命名方式非常有规律.所有OpenGL ...
随机推荐
- 【CodeForces - 598D】Igor In the Museum(bfs)
Igor In the Museum Descriptions 给你一个n*m的方格图表示一个博物馆的分布图.每个方格上用'*'表示墙,用'.'表示空位.每一个空格和相邻的墙之间都有一幅画.(相邻指的 ...
- 【C/C++开发】__stdcall,__cdecl,__fastcall的区别
__stdcall和__cdecl的区别 __stdcall和__cdecl是两种函数名字修饰.(注意是连续的两个下划线) Windows上 windows上不管是C还是C++,默认使用的都是__st ...
- 判断屏幕宽度px大小鉴别是移动设备或者PC
if(window.matchMedia("(max-width: 767px)").matches){ alert("这是一个移动设备.");}else { ...
- 什么是阿里云ACE认证
作为国内最大的云计算服务商,阿里云不仅引领着中国云计算技术在全球范围内扩大版图,同时还责无旁贷的承担着培养.壮大中国云生态人才力量的使命. 阿里云自2015年推出国内首个公有云技术认证以来,短短三年已 ...
- Kubernetes基石-pod容器
引用三个问题来叙述Kubernetes的pod容器 1.为什么不直接在一个Docker容器中运行所有的应用进程. 2.为什么pod这种容器中要同时运行多个Docker容器(可以只有一个) 3.为什么k ...
- Linux系列(11):之bash进阶与数据流导向、管线命令
1.万用字符与特殊字符 在bash的环境下有一个特别有用的功能,那就是万用字符!下面展示常见的万用字符: 1.万用字符 除了万用字符还有一些其他的特殊字符,接下来显示特殊字符. 2.特殊字符 2.数据 ...
- python------模块基础【第二部分-time】------
一.time UTC/GMT:世界时间 本地时间:本地时区时间 python中时间日期格式化符号: %y 两位数的年份表示(00-99) %Y 四位数的年份表示(000-9999) %m 月份(01- ...
- [POI2012]ROZ-Fibonacci Representation (贪心)
大意: 给定数$n$, 求将$n$划分为最少的斐波那契数的和或差. 每次取相邻$n$的斐波那契数一定最优, 考虑证明. 结论1:存在一个最优解,使得每个斐波那契数使用不超过1次.(考虑$2F_n=F_ ...
- nginx + uwsgi 部署django项目
因项目需求,需要部署django项目,这里是基础的nginx配合uwsgi部署django,后续会采用docker部署的方式 环境: centos7 python3.5.4 django2.1.4 u ...
- 进阶Java编程(5)基础类库
Java基础类库 1,StringBuffer类 String类是在所有项目开发之中一定会使用到的一个功能类,并且这个类拥有如下的特点: ①每一个字符串的常量都属于一个String类的匿名对象,并且不 ...