云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

分布式数据库_数据库质疑_价格

小七 141 0

考拉:从熊猫到Apache Spark的轻松过渡

今天在Spark+AI峰会上,我们宣布了无尾熊,这是一个新的开源项目,它增强了PySpark的数据帧API,使之与熊猫兼容。在过去的几年里,Python数据科学得到了飞速发展,熊猫已经成为生态系统的关键。当数据科学家拿到数据集时,他们就用熊猫来探索。它是数据争论和分析的终极工具。事实上,熊猫的read_csv通常是学生在数据科学之旅中的第一个命令。问题是什么?熊猫不能很好地适应大数据。它是为单台机器可以处理的小数据集而设计的。另一方面,apachespark已经成为大数据工作负载的事实标准。如今,许多数据科学家将熊猫用于课程作业、宠物项目和小型数据任务,但当他们处理非常大的数据集时,他们要么迁移到PySpark以利用Spark,要么减少数据采样,以便使用熊猫。现在有了考拉,数据科学家就可以从一台机器过渡到分布式环境,而不需要学习新的框架。正如你在下面看到的,你可以用考拉来缩放Spark上的熊猫代码,只需将一个包替换为另一个包。熊猫:将熊猫作为pd导入df=pd数据帧({'x':[1,2],'y':[3,4],'z':[5,6]})#重命名列数据框列=['x','y','z1']#做一些适当的操作df['x2']=df.x*df.x考拉:进口数据库树袋熊作为ksdf=ks.数据帧({'x':[1,2],'y':[3,4],'z':[5,6]})#重命名列数据框列=['x','y','z1']#做一些适当的操作df['x2']=df.x*df.xpandaps作为Python数据科学的标准词汇由于Python已经成为数据科学的主要语言,社区已经开发了一个基于最重要的库(包括pandas、matplotlib和numpy)的词汇表。当数据科学家能够使用这些库时,他们就可以充分表达他们的想法,并按照一个想法得出结论。他们可以概念化一些东西并立即执行。但是,当他们不得不使用词汇表之外的库时,他们会犯错误,每隔几分钟就会检查一次StackOverflow,为了让代码正常工作,他们不得不中断工作流程。尽管PySpark使用起来很简单,而且在很多方面都与熊猫相似,但它们仍然需要学习不同的词汇。在Databricks,我们相信在Spark上启用熊猫将显著提高数据科学家和数据驱动组织的生产力,原因如下:考拉不需要为给定的数据集决定是使用熊猫还是PySpark对于最初用熊猫为一台机器编写的工作,考拉允许数据科学家通过简单地把熊猫换成考拉来扩大他们在Spark上的代码考拉为组织中更多的数据科学家打开大数据,因为他们不再需要学习PySpark来利用Spark下面,我们将展示两个简单而强大的pandas方法的例子,它们可以直接在Spark上与考拉一起运行。分类变量特征工程当科学家们建立分类数据模型时,他们经常会遇到ML模型。一种流行的技术是将分类变量编码为虚拟变量。在下面的示例中,有几个分类变量,包括调用类型、邻域和单元类型。pandas的get_dummies方法是一种非常方便的方法。下面我们将展示如何使用熊猫:将熊猫作为pd导入数据=pd.read_csv文件(消防部门打电话给sf_清理.csv",标题=0)显示(警察局的傻瓜(数据)原始数据帧新数据帧现在多亏了考拉,我们可以在Spark上做一些调整:进口数据库树袋熊作为ks数据=ks.read_csv文件(消防部门打电话给sf_清理.csv",标题=0)显示(去拿你的假人(数据)就这样!带时间戳的算术数据科学家一直在使用时间戳,但是正确地处理它们会变得非常混乱。熊猫提供了一个优雅的解决方案。假设你有一个日期的数据框:将熊猫作为pd导入将numpy作为np导入日期1=pd系列(pd.date U范围('2012-1-1 12:00:00',周期=7,freq='M'))日期2=pd系列(pd.date U范围('2013-3-11 21:45:00',时段=7,freq='W'))df=pd数据帧(dict(开始日期=日期1,结束日期=日期2))打印(df)结束日期开始日期0 2013-03-17 21:45:00 2012-01-31 12:00:001 2013-03-24 21:45:00 2012-02-29 12:00:002 2013-03-31 21:45:00 2012-03-31 12:00:003 2013-04-07 21:45:00 2012-04-30 12:00:004 2013-04-14 21:45:00 2012-05-31 12:00:005 2013-04-21 21 21:45:00 2012-06-30 12:00:006 2013-04-28 21:45:00 2012-07-31 12:00:00要从熊猫的结束日期中减去开始日期,只需运行:df['diff_seconds']=df['结束日期']-df['开始日期']df['diff_seconds']=df['diff_seconds']/np.timedelta64(1,s)打印(df)结束日期开始日期差异秒数0 2013-03-17 21:45:00 2012-01-31 12:00:00 35545500.01 2013-03-24 21:45:00 2012-02-29 12:00:00 33644700.02 2013-03-31 21:45:00 2012-03-31 12:00:00 31571100.03 2013-04-07 21:45:00 2012-04-30 12:00:00 29583900.04 2013-04-14 21:45:00 2012-05-31 12:00:00 27510300.05 2013-04-21 21 21:45:00 2012-06-30 12:00:00 25523100.06 2013-04-28 21:45:00 2012-07-31 12:00:00 23449500.0现在要在Spark上做同样的事情,你需要做的就是用考拉代替熊猫:进口数据库树袋熊作为ksdf=来自泳熊猫的ks(熊猫逯df)df['diff_seconds']=df['结束日期']-df['开始日期']df['diff_seconds']=df['diff_seconds']/np.timedelta64(1,s)打印(df)再说一次,就是这么简单。下一步以及考拉入门您可以在Spark+AI峰会上观看Reynold Xin发布的考拉官方公告:我们创造树袋熊是因为我们遇到了许多不愿处理大数据的数据科学家。我们相信考拉将赋予他们权力,让他们很容易在星火上工作。到目前为止,我们已经在pandas中实现了常见的数据帧操作方法,以及强大的索引技术。以下是我们的路线图中即将推出的一些项目,主要集中在提高覆盖率上:处理文本数据的字符串操作时间序列数据的日期/时间操作这项倡议尚处于初期阶段,但正在迅速发展。如果您有兴趣了解更多关于考拉或入门,请查看该项目的GitHub repo。我们欢迎您的反馈和贡献!免费试用Databricks。今天就开始吧