写点什么

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:467047
用户头像

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

关注

评论

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

大数据处理流程包括哪些环节

悦数图数据库

大数据处理流程

实力认可!TDengine 在“2023 年度金猿季”两大榜单中脱颖而出

TDengine

tdengine 时序数据库

软件测试学习笔记丨Grafana安装

测试人

软件测试

10个问题,教你如何使用一个事半功倍的代码托管平台

华为云 代码托管

实现钉钉与宁波银行对接,助力企业实现财务智能化

聚道云软件连接器

案例分享

【第七在线】数字化转型:智能商品计划管理的核心要素

第七在线

百度安全入选2023年移动互联网APP产品安全漏洞治理十大优秀案例

百度安全

软件测试学习笔记丨JMeter使用代理录制脚本

测试人

软件测试

图像处理-Java-指定大小压缩

alexgaoyh

Java 图像处理 图像压缩 压缩算法 指定大小

第三届“新科技 星力量” 科技实践案例评选【获奖名单】揭晓

星环科技

大数据 科技 大模型 获奖

(保姆级)服务器-Zabbix6.0使用Python脚本实现带图片的邮箱的报警

不在线第一只蜗牛

Python 运维 服务器

技术解读 | KunDB助力头部金融机构关键系统的Oracle国产替代

星环科技

oracle 大数据 科技 大模型

软件测试学习笔记丨Flask定义接口路由和视图函数

测试人

软件测试

“研学测”好帮手,三步带你安装体验TDH社区开发版

星环科技

大数据 信创 科技 大模型

JetBrains软件怎么设置中文,jetbrains全家桶汉化教程

南屿

编程开发 jetbrains rider破解版 JetBrains全家桶

Footprint 的卓越资金流数据揭示加密货币的神秘叙事

Footprint Analytics

区块链 数据分析 加密货币

AppLink让你的电商运营财务管理自动化

RestCloud

零代码 APPlink 自动化集成

指标平台详解(下):第三代指标平台实现了哪些突破?

Aloudata

BI ETL 指标中台; 指标中台

聚道云软件连接器1月新增应用/产品更新合集

聚道云软件连接器

功能更新

国内首个图计算标准发布,悦数图数据库通过测试

悦数图数据库

图谱

一分钟了解Wireshark的数据包

小齐写代码

探索技术的无限可能-云原生计算2023年度奖项

字节跳动云原生计算

大数据 云原生

全面升级!Apache HugeGraph 1.2.0版本发布

百度安全

星环科技基于第五代英特尔®至强®可扩展处理器的分布式向量数据库解决方案重磅发布

星环科技

大数据 信创 科技 大模型

利用 Token Explorer 信号驾驭市场波动

Footprint Analytics

区块链 加密货币 Token 代币

软件测试学习笔记丨性能测试体系

测试人

软件测试

产品解读 | 新一代湖仓集存储,多模型统一架构,高效挖掘数据价值

星环科技

大数据 信创 科技 大模型

亚马逊云科技在中国推出数字孪生服务Amazon IoT TwinMaker

财见

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