技术原理

PySpark编程-将速度与简单性结合在一起

Python和Apache Spark是分析行业最热门的词汇。Apache Spark是一个流行的开源框架,它确保了数据处理的闪电般速度,并支持各种语言,如Scala、Python、Java和R,然后归结为您的语言偏好和工作范围。通过这篇PySpark编程的文章,我将与Python讨论Spark,以演示Python如何利用Apache Spark的功能。

,然后我们开始PySpark编程的旅程,让我列出我将在本文中讨论的主题:

什么是PySparkPySpark logo - PySpark Programming - EdurekaRDDs DataFrame PySpark SQL PySpark Streaming Machine Learning(MLlib)

所以,让我们从列表中的第一个主题开始,即。,PySpark编程。

PySpark编程

PySpark是Apache Spark和Python的协作。

Apache Spark是一个开源的集群计算框架,围绕速度、易用性和流分析而构建,而Python是一种通用的高级编程语言。它提供了广泛的库,主要用于机器学习和实时流分析。

换句话说,它是一个用于Spark的Python API,允许您利用Python的简单性和Apache Spark的强大功能来驯服大数据。

PySpark - PySpark Programming - Edureka

您可能会想,当有其他语言可用时,我为什么选择Python与Spark一起工作。为了回答这个问题,我列出了Python的一些优点:

Python非常容易学习和实现。它提供了简单而全面的API。使用Python,代码的可读性、维护性和熟悉性都会好得多。它为数据可视化提供了各种选项,这在使用Scala或Java时是很困难的。Python提供了一系列的库,如numpy、pandas、scikit learn、seaborn、matplotlib等。它由一个巨大而活跃的社区提供支持。”

“现在您已经了解了PySpark编程的优点,让我们简单地深入了解PySpark的基本原理。”

“PySpark编程”| PySpark培训| Edureka

本视频将为您提供PySpark

弹性分布式数据集(rdd)

rdd是构建基块的基本概念的见解任何火花应用。RDDs代表:

弹性:它是容错的,能够在发生故障时重建数据。分布式:数据分布在集群中的多个节点之间。数据集:具有值的分区数据的集合。”它是分布式集合上的抽象数据层。它在本质上是不可变的,并遵循惰性转换。

对于RDD,您可以执行两种类型的操作:

转换:这些操作应用于创建新的RDD。操作:这些操作应用于RDD,以指示ApacheSpark应用计算并将结果传递回驱动程序。PySpark中的DataFrame

DataFrame是结构化或半结构化数据的分布式集合。Dataframe中的这些数据存储在命名列下的行中,这与关系数据库表或excel表类似。

它还与RDD共享一些公共属性,比如本质上是不可变的,遵循惰性计算,本质上是分布的。它支持多种格式,如JSON、CSV、TXT等。此外,您还可以从现有的RDD中加载它,或者通过编程方式指定模式。

PySpark SQL

PySpark SQL是PySpark核心之上的高级抽象模块。它主要用于处理结构化和半结构化数据集。它还提供了一个优化的API,可以从包含不同文件格式的各种数据源读取数据。因此,使用PySpark,您可以通过使用SQL和HiveQL来处理数据。由于这个特性,PySparkSQL在数据库程序员和Apache配置单元用户中逐渐流行起来从pyspark.ml公司导入管道从pyspark.ml.分类导入逻辑回归从pyspark.sql语言导入行从pyspark.sql.types类型进口*##通过导入和解析输入数据创建RDD定义csvParse:导入csv从StringIO导入StringIO值=csv.阅读器(sio)下一步()返回值食品检查=sc.textFile文件('file:///home/edureka/Downloads/Foodúu-Inspections戋u芝加哥_数据.csv')##显示数据格式食物_检查.take(1)

output 1 - PySpark Programming - Edureka

#构造数据StructField(“id”,IntegerType(),False),StructField(“结果”,StringType(),False),#创建预测分析所需的数据帧和临时表(结果)。##sqlContext用于对结构化数据执行转换惯性导航系统_数据框寄存器可清空(“计算结果”)惯性导航系统_测向显示(

output 2 - PySpark Programming - Edureka

\#在结果列中显示不同的值###每个检查都表示为标签冲突对。####这里0.0表示失败,1.0表示成功,-1.0表示除这两个结果之外的一些结果定义标签结果:返回0.0elif s='带条件通过'或s='通过':其他:返回-1.0ins_label=UserDefinedFunction(label_Results,DoubleType())贴上标签_数据采集(1)

output 4 - PySpark Programming - Edureka

###从输入数据帧创建逻辑回归模型tokenizer=tokenizer(inputCol=“冲突”,outputCol=“单词”)hashingTF=hashingTF(输入列=标记器.getOutputCol(),outputCol=“功能”)pipeline=管道(stages=[tokenizer,hashingTF,lr])##用测试数据评估测试数据=sc.textFile文件('file:///主页/edureka/下载/食品检查_测试.csv').map(lambda l:(整数(l[0]),l[1],l[12],l[13]))试验_df=spark.createDataFrame(test_Data,schema).where(“结果='Fail'或结果='Pass'或结果='Pass with Conditions'”预测_Df=模型.转换(测试数据框)预测_测向柱

output 5 - PySpark Programming - Edureka

###打印第一行numOfSuccess=预测_数据框位置(“”(预测=0,结果=失败)或(预测=1和(结果=通过)或numOfInspections=预测_测向计数()打印“有”,numOfInspections,“inspections and There”,numOfSuccess,“successful predictions”打印“This is a”,str((float(numOfSuccess)/float(numOfInspections))*100 “%”,“success rate”

PySpark logo - PySpark Programming - Edureka1”

带着这个,我们来到这个关于PySpark编程的博客的末尾。希望它能给你的知识增加一些价值。

学会用Python和Spark分析数据!立即注册!”

如果你发现了这个与PySpark编程相关的博客,请查看Edureka的PySpark认证培训,Edureka是一家值得信赖的在线学习公司,拥有遍布全球的250000多名满意的学习者。有问题要问我们吗?请在评论栏中提及,我们会给你回复的

你也可能喜欢

发表评论

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

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

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

    分类目录