写点什么

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

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

关注

评论

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

EasyDL平台的强大开发力量

百度开发者中心

大模型 #人工智能

酷克数据出席永洪科技用户大会 携手驱动商业智能升级

酷克数据HashData

“敏捷教练进阶课程”12月2-3日 · A-CSM认证在线周末班【分时段模块化教学】CST导师亲授

ShineScrum

KaiwuDB 获山东省工信厅“信息化应用创新优秀解决方案”奖

KaiwuDB

文心一言 VS 讯飞星火 VS chatgpt (125)-- 算法导论10.6 6题

福大大架构师每日一题

福大大架构师每日一题

短视频不仅带火了直播/PK,也带着RTC走进了军备竞赛

X2Rtc

音视频 短视频 RTC

聊聊 Rust 变量,你学会了吗?

树上有只程序猿

rust

微服务之负载均衡使用场景

互联网工科生

负载均衡 微服务

TDengine 受邀参加 CNCC 2023,大会现场展位前“人山人海”!

TDengine

tdengine 时序数据库

golang结构体内存对齐

fm

Privatus for Mac(网页缓存清理) 6.6.2永久激活版

mac

苹果mac Windows软件 Privatus 网页缓存清理软件

CAEE2023 | 造物云×华为云共建电子电路智慧云工厂,引领产业创新发展浪潮

Geek_2d6073

KaiwuDB 联合信通院数据库应用创新实验室召开数据库技术研讨沙龙

KaiwuDB

API商品数据接口调用实战

Noah

NFTScan 发展成为 PlatON 网络最大验证者节点之一

NFT Research

NFT NFT\ NFTScan

HDFS架构介绍

数新网络官方账号

大数据 hdfs 架构-

《数据安全与流通:技术、架构与实践》新书发布

星环科技

最新体育赛事视频直播系统开发解决方案,提高用户黏性

软件开发-梦幻运营部

用友BIP数智干部管理——数管干部 人才强企

用友BIP

数智干部管理

1.从零开始学Windows批处理编程系列之基础介绍

全栈工程师修炼指南

编程 windows 批处理 运维学习之路

权重修改与预训练模型的应用

百度开发者中心

人工智能 大模型

行云创新加入深圳市人工智能行业协会

行云创新

AI编程 人工智能协会 行云创新加入人工智能协会 云原生+AI 云端IDE+大模型

华为云GaussDB城市沙龙活动走进安徽,助力金融行业数字化转型

华为云开发者联盟

数据库 后端 华为云 华为云GaussDB 华为云开发者联盟

如何构建适合自己的DevOps软件测试改进方案

DevOps和数字孪生

DevOps 软件测试 仿真建模

星环科技分布式向量数据库Transwarp Hippo正式发布,拓展大语言模型时间和空间维度

星环科技

用 Milvus 和 NVIDIA Merlin 搭建高效推荐系统

Zilliz

nvidia Milvus Zilliz 向量数据库

史上最短苹果发布会;三星、LG、高通联手进军 XR 市场丨 RTE 开发者日报 Vol.74

声网

第19期 | GPTSecurity周报

云起无垠

Navicat Premium 15 for Mac(数据库开发工具)修复密码保存问题 v15.0.30中文激活版

mac

数据库开发工具 苹果mac Windows软件 Navicat Premium 15

大模型训练中的AI合成数据应用

百度开发者中心

大模型 人工智能「 LLM

证券开源领航者!国金证券通过中国信通院可信开源治理“先进级”评估

新消费日报

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