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)

相关推荐

  • centos8 优化

    技术centos8 优化 centos8 优化centos8 基础优化1.设置系统时间为北京时间一、设置时区
    [root@centos8 ~]# timedatectl set-timezone Asi

    礼包 2021年11月29日
  • 如何解析Perl命令行程序用法

    技术如何解析Perl命令行程序用法如何解析Perl命令行程序用法,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Perl命令行程序命令行程序下面的几个Pe

    攻略 2021年11月12日
  • 风的笔顺是,风的第二笔的笔画名称是什么

    技术风的笔顺是,风的第二笔的笔画名称是什么撇、横折弯钩/横斜钩、撇、点风的笔顺是。 风字详解: 一、详细信息:
    拼音:fēng、fěng  
    部首:风
    笔画:4
    二、笔顺图: 三、基本释义:
    (1)读作:fēn

    生活 2021年10月25日
  • 0元免费抖音刷粉-可以刷抖音赞吗

    技术0元免费抖音刷粉-可以刷抖音赞吗0元免费抖音刷粉-可以刷抖音赞吗
    一定要持续更新内容,长期坚持,不断输出价值和塑造你的影响力,这样粉丝的粘度才会高,他们会很期待看到你的新作品。你看那些粉丝上千万的大号,他们就一直保持

    测评 2021年11月13日
  • Java 内存模型

    技术Java 内存模型 Java 内存模型Java 内存模型
    Java 内存模型简称JMM,全名 Java Memory Model 。Java 内存模型规定了 JVM 应该如何使用计算机内存(RAM)

    礼包 2021年11月24日
  • Python中如何实现Flask请求数据获取响应

    技术Python中如何实现Flask请求数据获取响应这篇文章给大家分享的是有关Python中如何实现Flask请求数据获取响应的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一,请求数据及其获取

    攻略 2021年10月31日