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总结的更多相关文章

  1. html5 canvas常用api总结(一)

    1.监听浏览器加载事件. window.addEventListener("load",eventWindowLoaded,false); load事件在html页面加载结束时发生 ...

  2. compass General 常用api学习[Sass和compass学习笔记]

    compass 中一些常用api 包括一些浏览器hack @import "compass/utilities/general" Clearfix Clearfix 是用来清除浮动 ...

  3. java基础3.0:Java常用API

    本篇介绍Java基础中常用API使用,当然只是简单介绍,围绕重要知识点引入,巩固开发知识,深入了解每个API的使用,查看JavaAPI文档是必不可少的. 一.java.lang包下的API Java常 ...

  4. C++ 中超类化和子类化常用API

    在windows平台上,使用C++实现子类化和超类化常用的API并不多,由于这些API函数的详解和使用方法,网上一大把.本文仅作为笔记,简单的记录一下. 子类化:SetWindowLong,GetWi ...

  5. node.js整理 02文件操作-常用API

    NodeJS不仅能做网络编程,而且能够操作文件. 拷贝 小文件拷贝 var fs = require('fs'); function copy(src, dst) { fs.writeFileSync ...

  6. js的常用api

    JavaScript常用API总结 原创 2016-10-02 story JavaScript 下面是我整理的一些JavaScript常用的API清单. 目录 元素查找 class操作 节点操作 属 ...

  7. JS操作DOM常用API总结

    <JS高程>中的DOM部分写的有些繁琐,还没勇气整理,直到看到了这篇博文 Javascript操作DOM常用API总结,顿时有了一种居高临下,一览全局的感觉.不过有时间还是得自己把书里面的 ...

  8. request对象常用API 获取请求参数的值 request应用 MVC设计模式

    1 request对象常用API   1)表示web浏览器向web服务端的请求   2)url表示访问web应用的完整路径:http://localhost:8080/day06/Demo1     ...

  9. 【OpenGL游戏开发之二】OpenGL常用API

    OpenGL常用API 开发基于OpenGL的应用程序,必须先了解OpenGL的库函数.它采用C语言风格,提供大量的函数来进行图形的处理和显示.OpenGL库函数的命名方式非常有规律.所有OpenGL ...

随机推荐

  1. DAY 吐

    今天所学: 一,Linux的文件和目录管理 #1 cd( 变更用户所在目录)直接运行cd会进入root的/root下,后面跟目录名,会进入指定目录下( 后面只能是目录名,不能跟文件名). #2 pwd ...

  2. RestTemplateBuilder类

    Spring Boot使用RestTemplate消费REST服务的几个问题记录 我们可以通过Spring Boot快速开发REST接口,同时也可能需要在实现接口的过程中,通过Spring Boot调 ...

  3. 关于Oracle MAX()KEEP(DENSE_RANK LAST/FIRST ORDER BY ) 函数的使用分析

    MAX()/MIN() KEEP(DENSE_RANK LAST/FIRST) 函数 解释: 1. max()  获取最大值: 2.min() 获取最小值; 3. keep 保持满足括号内条件的内容; ...

  4. 处理idea加载不到Spring的xml或者properties配置文件

    在pom文件的 标签钱添加以下代码 <!--防止ieda加载不到xml或者properties文件开始--> <resources> <resource> < ...

  5. java8 用法小结

    一 简单的stream parallelStream慎用,除非你知道它内部干了什么 List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6, ...

  6. 将本地镜像上传到Docker镜像仓库

    ⒈在Docker Hub(Docker官方镜像仓库)注册自己的用户名. ⒉在Docker中使用docker login命令登录自己的用户名密码. ⒊使用docker push 镜像名称 上传本地镜像到 ...

  7. php链接redis (带密码)常用的redis方法

    连接redis $redis = new Redis(); $redis->connect($host, $port); $redis->auth('my pass'); //密码验证 常 ...

  8. LeetCode 160——相交链表(JAVA)

    编写一个程序,找到两个单链表相交的起始节点. 如下面的两个链表: 在节点 c1 开始相交. 示例 1: 输入:intersectVal = 8, listA = [4,1,8,4,5], listB ...

  9. Hystrix服务容错保护

    一.什么是灾难性雪崩效应? 造成灾难性雪崩效应的原因,可以简单归结为下述三种: 服务提供者不可用.如:硬件故障.程序BUG.缓存击穿.并发请求量过大等. 重试加大流量.如:用户重试.代码重试逻辑等. ...

  10. Django模板(Template)系统

    Django模板系统 官方文档 常用语法 只需要记两种特殊符号: {{  }}和 {% %} 变量相关的用{{}},逻辑相关的用{%%}. 变量 {{ 变量名 }} 变量名由字母数字和下划线组成. 点 ...