写点什么

Spark 1.4 为 DataFrame 新增的统计与数学函数

  • 2015-06-08
  • 本文字数:1333 字

    阅读完需:约 4 分钟

目前,Spark 1.4 版本在社区已经进入投票阶段,在 Github 上也提供了 1.4 的分支版本。最近,Databricks 的工程师撰写了博客,介绍了 Spark 1.4 为 DataFrame 新增的统计与数学函数。这篇博客介绍的函数主要包括:

  1. 随机数据生成(Random Data Generation)
  2. 概要与描述性统计(Summary and descriptive statistics)
  3. 协方差与相关性(Sample covariance and correlation)
  4. 交叉列表(Cross tabulation)
  5. 频率项(Frequent items)
  6. 数学函数(Mathematical functions)

随机数据生成(Random Data Generation)主要是为测试数据提供方便快捷的接口,如 range、rand 和 randn。rand 函数提供均匀正态分布,而 randn 则提供标准正态分布。在调用这些函数时,还可以指定列的别名,以方便我们对这些数据进行测试。

概要与描述性统计(Summary and Descriptive Statistics)包含了计数、平均值、标准差、最大值、最小值运算。只需要针对 DataFrame 调用 describe 函数即可:

复制代码
from pyspark.sql.functions import rand, randn
df = sqlContext.range(0, 10).withColumn('uniform', rand(seed=10)).withColumn('normal', randn(seed=27))
df.describe().show()
```可能的结果显示为:
summary id uniform normal count 10 10 10 mean 4.5 0.5215336029384192 -0.01309370117407197 stddev 2.8722813232690143 0.229328162820653 0.5756058014772729| min 0 0.19657711634539565 -0.7195024130068081 max 9 0.9970412477032209 1.0900096472044518 交叉列表为一组变量提供了频率分布表,在统计学中被经常用到。例如在对租车行业的数据进行分析时,需要分析每个客户(name)租用不同品牌车辆 (brand) 的次数。此时,就可以直接调用 crosstab 函数。例如:
`df.stat.crosstab("name", "brand").show()`但是需要注意的是,必须确保要进行交叉列表统计的列的基数不能太大。
为 DataFrame 新增加的数学函数都是我们在做数据分析中常常用到的,包括 cos、sin、floor、ceil 以及 pow、hypot 等。以上新特性都会在 Spark 1.4 版本中得到支持,并且支持 Python、Scala 和 Java。在未来发布的版本中,DataBricks 还将继续增强统计功能,并使得 DataFrame 可以更好地与 Spark 机器学习库 MLlib 集成,例如 Spearman Correlation(斯皮尔曼相关)、针对协方差运算与相关性运算的聚合函数等。
若希望了解这些新增特性的具体内容,可以持续关注 [DataBricks 的开发者博客](http://databricks.com/blog/category/developer)。
- - - - - -
感谢 [丁晓昀](http://www.infoq.com/cn/author/%E4%B8%81%E6%99%93%E6%98%80) 对本文的审校。
给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 [editors@cn.infoq.com](mailto:editors@cn.infoq.com)。也欢迎大家通过新浪微博([@InfoQ](http://www.weibo.com/infoqchina),[@丁晓昀](http://weibo.com/u/1451714913)),微信(微信号:[InfoQChina](http://weixin.sogou.com/gzh?openid=oIWsFt0HnZ93MfLi3pW2ggVJFRxY))关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群 [![](https://static001.infoq.cn/resource/image/06/9f/06e1fec4a87eca3142d54d09844c629f.png)](http://shang.qq.com/wpa/qunwpa?idkey=cc82a73d7522f0090aa3cbb6a8f4bdafa8b82177f481014c976a8740d927997a))。
2015-06-08 04:467156
用户头像

发布了 109 篇内容, 共 45.9 次阅读, 收获喜欢 14 次。

关注

评论

发布
暂无评论
发现更多内容

WAIC2025 | 澳鹏(中国)精彩亮相2025世界人工智能大会

澳鹏Appen

世界人工智能大会 WAIC WAIC2025

DApp极速开发指南:7天搞定Solidity合约+React前端全栈实战

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 代币开发 交易所开发公链开发

基于开发者空间OpenGauss数据库的分区表项目实践

华为云开发者联盟

opengauss 华为开发者空间

星云低代码:低代码不再是平台,而是“中间件”

星云低代码中间件

低代码 中间件 企业应用 可视化开发

从v3.1到v4.3,OceanBase稳定支撑快手PB级核心业务场景

老纪的技术唠嗑局

运维 数据库设计 OceanBase 社区版 mysql'

合规交易所架构设计:冷热钱包隔离+zk-KYC方案

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

校招新人如何用文心快码让Landing期不再尴尬

Comate编码助手

职场新人 AI辅助编程 AI 代码助手 文心快码

程序员专属秋日养生指南(Coding版),文内有秋天第一杯奶茶

Comate编码助手

程序员 文心快码 秋天的第一杯奶茶 程序员养生

基于华为开发者空间,仓颉宏实现语言集成查询LINQ

华为云开发者联盟

opengauss 华为开发者空间

Apache Flink:从实时数据分析到实时AI

Apache Flink

flink AI 实时计算

中国 Apache 项目 OpenRank 排行榜 Top 20:白鲸开源深度参与两大上榜项目

白鲸开源

开源 Apache DolphinScheduler Apache SeaTunnel 白鲸开源 Apache软件基金会

迈出万物互联的一小步:仓颉版TCPGroupChat群聊实现

华为云开发者联盟

仓颉 华为开发者空间

直播预告 | 您的数据能喂给AI了吗?让GenAI读懂企业语言——产品分享会:矩阵起源MatrixOne Intelligence产品独家解析

MatrixOrigin

海外舆情监测系统能帮企业做什么?

沃观Wovision

海外舆情监控 沃观Wovision 舆情监测系统

硅空位中心实现量子网络化的新突破

qife122

量子技术 硅空位中心

技术文档 | 使用 Pulsar Functions 构建实时 AI Pipeline

AscentStream

Machine Learning pulsar

[鸿蒙征文]钢琴和弦小工具

大展红图

鸿蒙 音乐 HarmonyOS HarmonyOS NEXT 钢琴

这个仓库堪称造轮子的鼻祖,建议看看!

Immerse

混合开发范式重构:FinClip驱动Native+小程序跨端生态进化

xuyinyin

深入底层:如何优雅部署 SeaTunnel 分离集群到 Kubernetes

白鲸开源

大数据 开源 Kubernetes 部署 Apache SeaTunnel

利用NLU标签优化ASR重评分模型

qife122

语音识别 自然语言理解

告别碎片化输入:TextIn xParse如何为RAG打造「零损耗」知识管道

合合技术团队

人工智能 算法 #大数据

三天接入,零重构:低代码中间件的快速集成机制全解析

星云低代码中间件

ide 低代码 企业应用 可视化编程

品牌出海的隐形风险:海外舆情监测你真的会用吗?

沃观Wovision

数据分析 出海企业 沃观Wovision 舆情监测系统

Mysql如何迁移数据库数据

秃头小帅oi

JNPF 6.0 +AI,低代码开发新体验

引迈信息

基于远程开发环境部署Django与开发者空间GaussDB的实践应用

华为云开发者联盟

华为开发者空间

强化大型语言模型复杂指令推理能力的新方法

qife122

大型语言模型 指令跟随

从《中国开源年度报告》看中国开源力量的十年变迁中,Apache SeaTunnel 的跃迁

白鲸开源

大数据 开源 Apache SeaTunnel Apache软件基金会 OpenRank

Spark 1.4为DataFrame新增的统计与数学函数_语言 & 开发_张逸_InfoQ精选文章