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)

相关推荐

  • angular怎么设置全局变量(angular模板使用全局变量)

    技术angular怎么设置全局变量本篇内容主要讲解“angular怎么设置全局变量”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“angular怎么设置全局变量”吧!在angu

    攻略 2021年12月21日
  • 在SQL PLUS中格式化输出查询结果的方法是什么

    技术在SQL PLUS中格式化输出查询结果的方法是什么这篇文章主要讲解了“在SQL PLUS中格式化输出查询结果的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“

    攻略 2021年11月4日
  • Linux nmap/隧道工具

    技术Linux nmap/隧道工具 Linux nmap/隧道工具一、Nmap简介:Nmap(Network Mapper)网络映射器是一款开源的网络探测和安全审核的工具,应用在端口扫描等场景上;1.

    礼包 2021年12月6日
  • MONGO DB too many mongodb page_faults 报错排查step by step的示例分析

    技术MONGO DB too many mongodb page_faults 报错排查step by step的示例分析这篇文章给大家介绍MONGO DB too many mongodb page_faults

    攻略 2021年11月3日
  • PostgreSQL如何实现自动更新时间戳

    技术PostgreSQL如何实现自动更新时间戳这篇文章主要介绍PostgreSQL如何实现自动更新时间戳,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!什么是PostgreSQL时间戳数据类型?在P

    攻略 2021年11月24日
  • SAP C4C url Mashup的跳转工作原理是什么

    技术SAP C4C url Mashup的跳转工作原理是什么这篇文章给大家介绍SAP C4C url Mashup的跳转工作原理是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一个例子:我在Sa

    攻略 2021年12月3日