pyspark开发
pyspark开发pyspark认识关于PySpark,它是Python调用Spark的接口,可以通过调用Python API的方式来编写Spark程序,它支持了大多数的Spark功能,比如SparkDataFrame、Spark SQL、Streaming、MLlib等等。Spark SQL使用这个模块是Spark中用来处理结构化数据的,提供一个SparkDataFrame的东西并且自动解析为分布式SQL查询数据。在Python的Pandas库,也能大致了解了DataFrame,这个其实和它没有太大的区别,只是调用的API可能有些不同罢了。通过使用Spark SQL来处理数据,比如可以用SQL语句、用SparkDataFrame的API或者Datasets API,可以按照需求随心转换,通过SparkDataFrame API 和 SQL 写的逻辑,会被Spark优化器Catalyst自动优化成RDD,即便写得不好也可能运行得很快(如果是直接写RDD可能就挂了)。1、读取数据RDD创建rdd=sc.parallelize([("Sam",28,88),("Flora",28,90),("Run",1,60)])df=rdd.toDF(["name","age","score"])DataFrame创建df=pd.DataFrame([['Sam',28,88],['Flora',28,90],['Run',1,60]],columns=['name','age','score'])Spark_df=spark.createDataFrame(df)```python3.List创建 ```python list_values=[['Sam',28,88],['Flora',28,90],['Run',1,60]]Spark_df=spark.createDataFrame(list_values,['name','age','score'])```python4.读取文件创建 ```python# (1) CSV文件df=spark.read.option("header","true")\.option("inferSchema","true")\.option("delimiter",",")\.csv("./test/data/titanic/train.csv")# (2) json文件df=spark.read.json("./test/data/hello_samshare.json")数据库读取# (1) 读取hive数据spark.sql("CREATE TABLE IF NOT EXISTS src (key INT, value STRING) USING hive")spark.sql("LOAD DATA LOCAL INPATH 'data/kv1.txt' INTO TABLE src")df=spark.sql("SELECT key, value FROM src WHERE key 10 ORDER BY key")# (2) 读取mysql数据url="jdbc:mysql://localhost:3306/test"df=spark.read.format("jdbc")\.option("url",url)\.option("dbtable","runoob_tbl")\.option("user","root")\.option("password","8888")\.load()2、DataFrame简单处理1. 查看DataFrame的APIs# (1)以列表形式返回行df.collect()# (2)返回统计数量df.count()# (3)返回字段列表df.columns# (4)返回数据类型df.dtypes# (5)返回列的基础统计信息,describe("非必须")df.describe(['col_name'])# (6)选定指定列并按照一定顺序呈现df.select("col_name1","col_name2")# (7)查看第1条数据df.first()df.head(1)# (8)查看指定列的枚举值df.freqItems(["col_name1","col_name2"])# (9)返回统计摘要df.summary()# (10)按照一定规则从df随机抽样数据df.sample(0.5)```python#### 2. 简单处理DataFrame的APIs```python# (1)对数据集进行去重df.distinct()# (2)对指定列去重df.dropDuplicates(["col_name"])# (3)根据指定的df对df进行去重df1.exceptAll(df2)# exceptAll()进行df1 - df2的差集运算,保留重复项df1.subtract(df2)# subtract()获取两个 DataFrame 的行级差集,即找出在第一个 DataFrame 中存在,但在第二个中不存在的行# (4)返回两个DataFrame的交集df1.intersectAll(df2)# (5)丢弃指定列df.drop('col_name')# (6)新增列df.withColumn("col_name",col_value)# (7)重命名列名df.withColumnRenamed("col_ora_name","col_new_name")# (8)丢弃空值,DataFrame.dropna(how='any', thresh=None, subset=None)df.dropna(how='all',subset=['col_name'])# (9)空值填充操作df.fillna({"col_name1":"col_value1","col_name2":col_value2})# (10)根据条件过滤df.filter(df.col_name50)# (11)数据集连接,DataFrame.join(other, on=None, how=None)df1.join(df2,df1.id

相关新闻

7 款主流 LLM 在简历优化任务上的横向评测:谁改的简历最像「人」?

7 款主流 LLM 在简历优化任务上的横向评测:谁改的简历最像「人」?

文章目录一、问题定义:为什么需要一个「简历优化专属」的 LLM 评测?1.1 通用 LLM 榜单 ≠ 简历优化能力1.2 真实用户的 4 大痛点1.3 本文解决了什么问题二、测评方法论:7 维度 统一测试用例2.1 为什么不直接跑通用榜单?2.2 7 维度…

2026/10/24 14:58:15 阅读更多 →
深度 | AI 部署工程师军备竞赛:巨头烧百亿抢「驻场工程师」,到底在抢什么 — 深度分析

深度 | AI 部署工程师军备竞赛:巨头烧百亿抢「驻场工程师」,到底在抢什么 — 深度分析

# AI 部署工程师军备竞赛:巨头烧百亿抢「驻场工程师」,到底在抢什么 — 深度分析 这是一篇深度研究,不是新闻简报。基于 20 个来源的交叉验证。 一、模型不稀缺了,稀缺的是把它用起来的人 过去两年我们聊 AI,句句离不…

2026/11/15 23:11:40 阅读更多 →
SystemView 移植

SystemView 移植

前言 我想要使用 SystemView 可以精确调试 FreeRTOS 系统,而且调试接口是 SW 接口(不使用串口进行 SystemView 调试)。接下来我需要将 SystemView 移植到 STM32G473RCT6 中。 如果想和我保持一致,那么这里有一些需要准备的东西&am…

2026/10/25 6:15:01 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/15 5:13:35 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/15 5:13:35 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/15 5:13:35 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/15 3:37:41 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/15 4:18:38 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/15 5:13:35 阅读更多 →

日新闻

周新闻

月新闻