spark python 机器学习(python和spark)

技术机器学习实践中如何将Spark与Python结合本篇文章给大家分享的是有关机器学习实践中如何将Spark与Python结合,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小

本文是关于如何在机器学习实践中结合Spark和Python。边肖觉得很实用,所以分享给大家学习。希望你看完这篇文章能有所收获。让我们和边肖一起看看。

Apache Spark是处理和使用大数据应用最广泛的框架之一,Python是数据分析、机器学习等领域应用最广泛的编程语言之一。如果你想要更好的机器学习能力,为什么不把Spark和Python一起用呢?

在国外,Apache Spark开发者的平均年薪为11万美元。毫无疑问,Spark在这个行业得到了广泛的应用。Python也因其丰富的库集而被大多数数据科学家和分析师使用。两者融合并没有那么难。Spark是用Scala语言开发的,和Java非常相似。它将程序代码编译成JVM字节码,用于Spark大数据处理。为了集成Spark和Python,Apache Spark社区发布了PySpark。

Apache Spark是Apache软件基金会为实时处理开发的开源集群计算框架。Spark为编程整个集群提供了一个接口,具有隐式数据并行性和容错性。

以下是Apache Spark的一些特性,它们比其他框架有优势:

机器学习实践中如何将Spark与Python结合

速度:比传统大规模数据处理框架快100倍。

强大的缓存:简单编程层提供强大的缓存和磁盘持久化功能。

部署:可以通过Mesos、Yarn或者Spark自己的集群管理器进行部署。

实时:内存计算,实时计算,低延迟。

多语种:这是框架最重要的特性之一,因为它可以用Scala、Java、Python和r编程。

虽然Spark是在Scala中设计的,比Python快10倍,但是Scala只有在使用的内核数量很少的情况下才会显示出它的速度优势。由于现在大多数分析和处理都需要大量的内核,Scala的性能优势并不大。

Python相对来说更容易让程序员学习,因为它有丰富的语法和标准库。此外,它是一种动态类型语言,这意味着RDD可以存储许多类型的对象。

虽然Scala拥有SparkMLlib,但是它没有足够的库和工具来实现机器学习和NLP。此外,Scala缺乏数据可视化。

机器学习实践中如何将Spark与Python结合

 使用Python设置Spark(PySpark)

要先下载并安装spark,请解压缩Spark文件后,安装它并将其添加到。bashrc文件路径,需要输入source.bashrc。

机器学习实践中如何将Spark与Python结合

要打开PySpark shell,您需要输入命令。/bin/pyspark

  PySpark SparkContext和数据流

用Python连接Spark可以用RD4s和库Py4j来实现。PySpark Shell将Python API链接到Spark Core并初始化Spark Context。SparkContext是Spark应用的核心。

1.Spark Context设置内部服务并建立与sparkcontext执行环境的连接。

2.驱动程序中的Spark Context对象协调所有分布式进程,并允许资源分配。

3.集群管理器执行器,是带有逻辑的JVM进程。

4.sparkcontext对象将应用程序发送给执行器。

5.火花上下文在每个执行器中执行任务。

  PySpark KDD用例

现在我们来看一个用例:数据来源是KDD‘99杯(国际知识发现与数据挖掘工具大赛,国内也有类似的大赛开放数据集,比如知乎)。我们在这里取一部分数据集,因为原始数据集太大了。

机器学习实践中如何将Spark与Python结合

  创建RDD:

现在我们可以用这个文件来创建我们的RDD。

he.yisu.com/upload/information/20200703/144/40541.png" alt="机器学习实践中如何将Spark与Python结合">

  过滤

  假设我们要计算我们在数据集中有多少正常的相互作用。,可以按如下过滤我们的raw_data RDD。

机器学习实践中如何将Spark与Python结合

  计数:

  现在我们可以计算出新RDD中有多少元素。

机器学习实践中如何将Spark与Python结合

  输出:

机器学习实践中如何将Spark与Python结合

  制图:

  在这种情况下,我们想要将数据文件作为CSV格式文件读取。我们可以通过对RDD中的每个元素应用lambda函数。如下所示,这里我们将使用map()和take()转换。

机器学习实践中如何将Spark与Python结合

  输出:

机器学习实践中如何将Spark与Python结合

  拆分:

  现在,我们希望将RDD中的每个元素都用作键值对,其中键是标记(例如正常值),值是表示CSV格式文件中行的整个元素列表。 我们可以按如下进行,这里我们使用line.split()和map()。

机器学习实践中如何将Spark与Python结合

  输出:

机器学习实践中如何将Spark与Python结合

  收集:

  使用collect()动作,将RDD所有元素存入内存。因此,使用大型RDD时必须小心使用。

机器学习实践中如何将Spark与Python结合

  输出:

机器学习实践中如何将Spark与Python结合

  当然,这比我们之前的任何操作花费的时间都要长。每个具有RDD片段的Spark工作节点都必须进行协调,以便检索其各部分内容,然后将所有内容集合到一起。

  作为结合前面所有内容的最后一个例子,我们希望收集所有常规交互作为键值对。

机器学习实践中如何将Spark与Python结合

  输出:

机器学习实践中如何将Spark与Python结合

以上就是机器学习实践中如何将Spark与Python结合,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/149950.html

(0)

相关推荐

  • SpringCloud动态配置变化监控的实例分析

    技术SpringCloud动态配置变化监控的实例分析SpringCloud动态配置变化监控的实例分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所

    攻略 2021年10月27日
  • ADO.NET sql server存储过程怎么调用

    技术ADO.NET sql server存储过程怎么调用这篇文章主要介绍“ADO.NET sql server存储过程怎么调用”,在日常操作中,相信很多人在ADO.NET sql server存储过程怎么调用问题上存在疑

    攻略 2021年12月3日
  • 为什么oracle 10.2.0.5只会获取child#=1的shared pool latch

    技术为什么oracle 10.2.0.5只会获取child#=1的shared pool latch这篇文章主要介绍了为什么oracle 10.2.0.5只会获取child#=1的shared pool latch,具有

    攻略 2021年11月12日
  • n代表零线还是火线,火线和零线哪个是L哪个是N

    技术n代表零线还是火线,火线和零线哪个是L哪个是N零线为〔N〕n代表零线还是火线,火线为〔L〕。市电的交流供电电压为220伏特(V)。包括一根零线〔N〕和一根火线〔L〕,零线接地(地为零)所以称之为零线。   在电工学中

    生活 2021年10月25日
  • 描写城市的成语,描写城市生活的四字词语

    技术描写城市的成语,描写城市生活的四字词语描写城市的四字词语有描写城市的成语:车水马龙 摩肩接踵、十里长街、华灯璀璨、川流不息、人声鼎沸、车水马龙 四衢八街 八街九陌 车水马龙 摩肩接踵、十里长街、华灯璀璨、川流不息

    生活 2021年10月26日
  • 草船借箭的意思,草船借箭,这个词是什么意思

    技术草船借箭的意思,草船借箭,这个词是什么意思草船借箭。这个典故来源于三国演义草船借箭的意思,周瑜要刁难诸葛亮,就他准备想为东吴除去诸葛亮,所以要他造好10万支箭,要知道没有相对应的材料,诸葛亮是造不好箭的。所以当时的鲁

    生活 2021年10月26日