定制加工
SQL、Pandas和Spark:这个库,实现了三大数据分析工具的大一统
2025-01-03 13:59

导读

看过近期推文的读者,想必应该知道笔者最近在开一个数据分析常用工具对比的系列,主要是围绕SQL、Pandas和Spark三大个人常用数据分析工具,目前已完成了、、、以及等5篇文章。当然,这里的Spark是基于Scala语言版本,所以这3个工具实际分别代表了SQL、Python和Scala三种编程语言,而在不同语言中自然是不便于数据统一和交互的。

最近,偶然的机会居然发现一直忽视了pyspark这个库(虽然早已知悉该库),这个库在某种层面上居然可以实现三个工具的大一统,不禁直呼真香!

01 pyspark简介及环境搭建

pyspark是python中的一个第三方库,相当于Apache Spark组件的python化版本(Spark当前支持Java Scala Python和R 4种编程语言接口),需要依赖py4j库(即python for java的缩略词),而恰恰是这个库实现了将python和java的互联,所以pyspark库虽然体积很大,大约226M,但实际上绝大部分都是spark中的原生jar包,占据了217M,体积占比高达96%。

由于Spark是基于Scala语言实现的大数据组件,而Scala语言又是运行在JVM虚拟机上的,所以Spark自然依赖JDK,截止目前为止JDK8依然可用,而且几乎是安装各大数据组件时的首选。所以搭建pyspark环境首先需要安装JDK8,而后这里介绍两种方式搭建pyspark运行环境:

1)pip install pyspark+任意pythonIDE

pyspark作为python的一个第三方库,自然可以通过pip包管理工具进行安装,所以仅需执行如下命令即可完成自动安装:

为了保证更快的下载速度,可以更改pip源为国内镜像,具体设置方式可参考历史文章:

2)Spark官网下载指定tar包解压

与其他大数据组件不同,Spark实际上提供了windows系统下良好的兼容运行环境,而且方式也非常简单。访问spark官网,选择目标版本(当前最新版本是spark3.1.1版本),点击链接即可跳转到下载页面,不出意外的话会自动推荐国内镜像下载地址,所以下载速度是很有保证的。

下载完毕后即得到了一个tgz格式的文件,移动至适当目录直接解压即可,而后进入bin目录,选择打开pyspark.cmd,即会自动创建一个pyspark的shell运行环境,整个过程非常简单,无需任何设置。

进入pyspark环境,已创建好sc和spark两个入口变量

两种pyspark环境搭建方式对比:

总体来看,两种方式各有利弊,如果是进行正式的开发和数据处理流程,个人倾向于选择进入第一种pyspark环境;而对于简单的功能测试,则会优先使用pyspark.cmd环境。

02 三大数据分析工具灵活切换

在日常工作中,我们常常会使用多种工具来实现不同的数据分析需求,比如个人用的最多的还是SQL、Pandas和Spark3大工具,无非就是喜欢SQL的语法简洁易用、Pandas的API丰富多样以及Spark的分布式大数据处理能力,但同时不幸的是这几个工具也都有各自的弱点,比如SQL仅能用于处理一些简单的需求,复杂的逻辑实现不太可能;Pandas只能单机运行、大数据处理乏力;Spark接口又相对比较有限,且有些算子写法会比较复杂。

懒惰是人类进步的阶梯,这个道理在数据处理工具的选择上也有所体现。

希望能在多种工具间灵活切换、自由组合选用,自然是最朴(偷)素(懒)的想法,所幸pyspark刚好能够满足这一需求!以SQL中的数据表、pandas中的Dataframe和spark中的Dataframe三种数据结构为对象,依赖如下几个接口可实现数据在3种工具间的任意切换:

当然,pandas自然也可以通过pd.read_sql和df.to_sql实现pandas与数据库表的序列化与反序列化,但这里主要是指在内存中的数据结构的任意切换。

举个小例子:

1)spark创建一个Dataframe

2)spark.Dataframe转换为pd.Dataframe

3)pd.Dataframe转换为spark.Dataframe

4)spark.Dataframe注册临时数据表并执行SQL查询语句

    以上就是本篇文章【SQL、Pandas和Spark:这个库,实现了三大数据分析工具的大一统】的全部内容了,欢迎阅览 ! 文章地址:http://ww.kub2b.com/news/20062.html
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 企库往资讯移动站 http://ww.kub2b.com/mobile/ , 查看更多   
最新文章
手机电量校准教程:解决电量显示不准确问题华为手机电池校正「手机电量校准教程:解决电量显示不准确问题」
如何校准手机电量?校准手机电量主要分为两个步骤:充电操作和软件校准。下面是详细的操作步骤:第一步:充电操作确保手机电量在
转给那些不疼老婆的男人
“曹雪芹在《好了歌》里说‘世人都晓神仙好,只有娇妻忘不了’,可多少人把婚姻过成了坟头的纸钱——活着时争吵算计,失去了才烧
索尼 Xperia 微单手机降至 3879 元,首发价 10999 元,还会再降价吗?ipro手机「索尼 Xperia 微单手机降至 3879 元,首发价 10999 元,还会再降价吗?」
索尼 Xperia PRO-I 微单手机降至 3879 元,首发价 10999 元 11 月 4 日消息,索尼 Xperia PRO-I 微单手机于 2021 年底上市,搭载
旧的手机膜怎么撕下来手机膜怎么撕下来「旧的手机膜怎么撕下来」
随着智能手机的普及,手机膜也成为了我们日常生活中不可或缺的一部分。然而,随着时间的推移,旧的手机膜可能会因为磨损、划痕或
“治未病”理念升温 中医为健康护航
乍暖还寒之际,气候变幻莫测,给体质较弱的人带来了身体上的困扰。 近日,记者在榆次区中医院治未病科看到,前来做按摩、针灸、
手机充电,到底是低于10%充还是用完再充?看完总算不纠结了手机电池充电「手机充电,到底是低于10%充还是用完再充?看完总算不纠结了」
随着科技的发展,手机在日常生活中也非常常见,现在大部分人都是人手一部手机,而且现在手机的功能也是越来越多,除了可以用来通
拳皇97风云再起 v4.3.0安卓免费版拳皇97手机版下载「拳皇97风云再起 v4.3.0安卓免费版」
《拳皇97:风云再起》是拳皇系列作品之一,是一款经典的街机游戏,相信不少朋友都曾经在街机厅中玩过这款游戏,里面的草薙京、八
手机游戏盒子排行榜第一 目前最好用的游戏盒子推荐手机游戏盒子「手机游戏盒子排行榜第一 目前最好用的游戏盒子推荐」
,手机游戏盒子排行榜第一是什么?游戏盒子通常包含了海量的游戏资源,从热门大作到小众独立游戏,涵盖了各种类型,如动作、冒险
腾讯手机管家官方版 v16.1.21安卓版腾讯手机管家官网下载「腾讯手机管家官方版 v16.1.21安卓版」
《腾讯手机管家app》送给大家,让你的手机享受最安全的极致体验,腾讯出品的手机管家软件,操作简单,功能齐全,安全防护手机。
霍山县凡冲村:茶旅融合绘就乡村振兴新画卷
茶旅融合绘就乡村振兴新画卷。霍山县委宣传部春和景明,茶山叠翠。霍山县与儿街镇凡冲村层层叠叠的茶园错落有致,从山下望去,茶