技术原理

PySpark教程-使用Python学习Apache Spark

在一个数据以如此惊人的速度生成的世界里,

,在正确的时间正确地分析这些数据是非常有用的。Apache Spark是实时处理大数据并进行分析的最令人惊叹的框架之一,Python for Spark或PySpark是最受欢迎的认证课程之一,这让Scala for Spark获得了成功。所以在这个PySpark教程博客中,我将讨论以下主题:

什么是PySpark?PySpark在这个行业为什么选择Python?使用PySpark

进行Spark RDDs机器学习PySpark教程:什么是PySparkApache Spark是一个用于处理、查询和分析大数据的快速集群计算框架。由于基于内存计算,它比其他几个大数据框架更具优势。

PySpark Features - PySpark Tutorial - Edureka

最初是用Scala编程语言编写的,开源社区开发了一个很棒的工具来支持Apache Spark的Python。PySpark帮助数据科学家在Apache Spark和Python通过它的Py4j库。有许多特性使PySpark成为一个比其他框架更好的框架:

速度:它比传统的大型数据处理框架快100倍强大的缓存:简单的编程层提供强大的缓存和磁盘持久性功能部署:可以通过Mesos、Hadoop via Yarn或Spark自己的集群管理器实时部署:实时计算和低延迟,因为内存计算Polyglot:支持Scala、Java、Python和R

编程让我们继续我们的PySpark教程博客,看看Spark在行业中的应用。

PySpark在行业中的应用

每个行业都围绕着大数据,有大数据的地方就有分析。因此,让我们看看使用Apache Spark的各个行业。

Movies - PySpark Tutorial - Edureka

媒体是向在线流媒体发展的最大行业之一。Netflix使用Apache Spark进行实时流处理,为其客户提供个性化的在线推荐。它每天处理4500亿个事件,这些事件流向服务器端应用程序。

Finance - PySpark Tutorial - Edureka

财务是Apache Spark实时处理的另一个重要部分。银行正在使用Spark访问和分析社交媒体配置文件,以获得有助于他们正确处理的见解信贷风险评估、定向广告和客户细分的业务决策。使用Spark还可以减少客户流失。欺诈检测是涉及Spark的机器学习中最广泛使用的领域之一。

Healthcare - PySpark Tutorial - Edureka

医疗服务提供商正在使用ApacheSpark分析患者记录以及过去的临床数据,以确定哪些患者是出院后可能面临健康问题。Apache Spark用于基因组测序以减少处理基因组数据所需的时间。

Ecommerce - PySpark Tutorial - Edureka

零售和电子商务是一个无法想象没有分析和定向广告的行业。阿里巴巴是当今最大的电子商务平台之一,它运行着全球最大的Spark作业,以分析数PB的数据。阿里巴巴在图像数据中进行特征提取。eBay使用Apache Spark提供有针对性的服务,增强客户体验并优化整体性能。

Travel - Pyspark Tutorial - Edureka

旅游业也使用Apache Spark。帮助用户规划完美旅行的领先旅游网站TripAdvisor正在使用Apache Spark加速提升其个性化客户推荐.TripAdvisor使用apache spark通过比较数百个网站找到最好的酒店pric为数百万旅行者提供建议对于它的客户,

这个PySpark教程的一个重要方面是理解为什么我们需要使用Python?为什么不使用Java、Scala或R呢?

订阅我们的youtube频道以获取新的更新

为什么选择Python

“易学:对于程序员来说,Python相对容易学,因为它的语法和标准库。而且,它是一种动态类型语言,这意味着rdd可以保存多种类型的对象。

Jupyter - Pyspark Tutorial

有大量的库:Scala没有足够的数据科学工具和像Python这样的库来进行机器学习和自然语言处理。此外,Scala缺乏良好的可视化和本地数据转换。

Libraries - Pyspark Tutorial - Edureka

巨大的社区支持:Python拥有一个全球社区,有数百万开发人员在数千个虚拟和物理位置在线和离线交互。

Community - Pyspark Tutorial - Edureka

是这个PySpark教程是rdd的使用。让我们了解什么是RDDs

Spark RDDs

当涉及到迭代分布式计算,即在计算中处理多个作业上的数据时,我们需要在多个作业之间重用或共享数据。早期的框架(如Hadoop)在处理多个操作/作业(如

)时遇到了问题,这些操作/作业将数据存储在中间存储(如HDFS)多个I/O作业会使计算的复制和序列化速度变慢,进而使处理速度变慢

rdd试图解决的问题所有的问题都是通过启用容错的分布式内存计算来解决的。RDD是弹性分布式数据集的缩写。RDD是一种分布式内存抽象,它允许程序员以容错的方式在大型集群上执行内存计算。它们是跨一组计算机分区的对象的只读集合,如果分区丢失,可以重建这些对象。有几个操作在RDDs上执行:

转换:转换从现有数据集创建新数据集。惰性求值操作:Spark只在对RDDs

调用操作时强制执行计算让我们了解一些转换、操作和函数

读取文件并显示前n个元素:

rdd=sc.textFile文件(“文件:///home/edureka/Desktop/Sample”)

的输出:

[森林砍伐正作为主要的环境和社会问题而出现,现在已经成为一个强大的恶魔,我们必须了解森林砍伐的原因、影响和解决问题的方法,你可以根据班级标准选择以下任何一篇关于森林砍伐的文章,u“森林砍伐正在成为对社会和环境的主要全球性问题。”]

转换为小写和拆分:(小写和拆分)

定义函数(行):行=行。下()回流管rdd1=rdd.map地图(功能)rdd1.服用(5)

输出:

[[u'毁林',是的,u'as',u'main',“和”,你“社交”,你“哪个”,你“有”,你“拿走”,.......]

删除停止字:(Filter)

停止语=['a','all','the','as','is','am','an','an d','be','been','from','had','I','id','why','with']rdd2.服用(10)你“出现”,u'main',u“环境”,你的问题,你“哪个”,你“有”,u'taken']

从1到500的数字之和:(Reduce)

总和_rdd.减少(λx,y:x y)

输出:

124750

机器学习与PySpark

继续我们的PySpark教程博客,让我们分析一些篮球数据和做一些未来的预测。因此,这里我们将使用1980年[三分球引入年份]以来NBA所有球员的篮球数据。

NBA- Pyspark Tutorial

数据加载:

.option('inferSchema','true').csv(“文件:///home/edureka/Downloads/seasy_总计.csv")打印(测向柱)

输出:

[“c0”,“player”,“pos”,“age”,“team_id”,“g”,“gs”,“mp”,“fg”,“fg a”,“fg_pct”,“fg3”,“fg3a”,“fg3_pct”,“fg2”,“fg2a”,“fg2_pct”,“efg_pct”,“ft”,“fta”,“ft_pct”,“orb”,“drb”,“trb”,“ast”,“stl”,“blk”,“tov”,“pf”,“pts”,“yr”]数据框顺序('pts',升序=False).limit(10).toPandas()[['yr','player','age','pts','fg3']]

输出:

PySpark Features - PySpark Tutorial - Edureka1”

使用DSL和matplotlib:

在这里,我们分析了在36分钟的时间限制内每个赛季平均3分的尝试次数[与具有足够休息的近似完整NBA比赛相对应的间隔]。我们使用3分的次数计算这个度量投篮命中率(fg3a)和上场时间(mp),然后使用matlplotlib

绘制结果从pyspark.sql.functions函数导入列fga_py=数据框分组(“年”).agg({'mp':'sum','fg3a':'sum'}).orderBy('年')从matplotlib导入pyplot作为pltplt.样式.使用(“五尺八寸”)_df=功能梯度_托潘达斯()plt.绘图(_df年,_df.fg3a_p36m型,颜色='#CD5C5C')标签(“年”)_=项目名称(“玩家平均每36分钟3分的尝试次数)”plt.注释(“引入3个指针”,xy=(1980,.5),xytext=(1981,1.1),fontsize=9,plt.注释(“NBA在三点线上移动”,xy=(1996,2.4),xytext=(1991.5,2.7),fontsize=9,arrowprops=dict(facecolor='grey',shrink=0,linewidth=2))plt.注释('NBA搬回来了

输出:

PySpark Features - PySpark Tutorial - Edureka2”

线性回归和矢量汇编程序:

我们可以将线性回归模型拟合到此曲线,以模拟未来5年的放炮次数。我们必须使用VectorAssembler函数将数据转换为单个列。这是MLlib中线性回归API的要求。

从pyspark.ml.功能导入矢量汇编程序训练=t.transform(fga_py).withColumn('标签',fga_py.fg3a U p36m型)

输出:

PySpark Features - PySpark Tutorial - Edureka3”

生成模型:

然后使用转换后的数据生成线性回归模型对象。

从pyspark.ml.回归导入线性回归lr=线性回归(maxIter=10)

将训练模型应用于数据集:

我们将训练模型对象模型应用于原始训练集以及5年的未来数据

#应用1979-80赛季至2020-21赛季的模式培训费=培训.select('fg3a_p36m')。rdd.map地图(lambda x:x[0]).collect()所有年份=训练年份 预测年份#构建测试数据框架row=行('yr')

你也可能喜欢

发表评论

您的电子邮件地址不会被公开。 必填项已用 * 标注

提示:点击验证后方可评论!

插入图片
广东省人工智能专业大学排名 投稿者
我还没有学会写个人说明!
最近文章
  • * 没有更多文章了
  • 热门搜索

    分类目录