美文网首页程序员python数据分析人工智能机器学习软件测试Python专家之路
pyspark工具机器学习(自然语言处理和推荐系统)1数据演进

pyspark工具机器学习(自然语言处理和推荐系统)1数据演进

作者: python测试开发 | 来源:发表于2019-01-23 15:59 被阅读1次

    在早期员工将数据输入系统,数据点非常有限,只占用少数几个字段。然后是互联网,每个人都可以轻松获取信息。现在,用户可输入并生成自己的数据。随着互联网用户数量呈指数级增长,用户创造的高数据增长率。例如:登录/注册表单允许用户填写自己的详细信息,在各种社交平台上上传照片和视频。这导致了巨大的数据生成以及快速处理数据量的且可扩展的框架的需求。

    数据生成

    图片.png

    设备都捕获数据,如汽车,建筑物,手机,手表,飞行引擎。

    图片.png

    数据处理也从串行转向并行处理。

    图片.png

    Spark

    Spark是处理海量数据集的框架,具有高速并行处理功能。它最初是加州大学伯克利分校AMPLabin 2009的研究项目,于2010年初开源。 2016年,Spark发布了针对深度学习的TensorFrames。

    图片.png

    Spark底层使用RDD(弹性分布式数据集Resilient Distributed Dataset)的数据结构。它能够在执行过程中重新创建任何时间点。 RDD使用最后一个创建的RDD,并且总是能够在出现任何错误时进行重构。它们是不可变的,因为原始RDD还在。由于Spark基于分布式框架,因此它适用于master和worker节点设置。执行任何活动的代码首先写在Spark Driver上,数据实际驻留的workers之间共享。每个工作节点包含将实际执行代码的Executors。 Cluster Manager会检查下一个任务分配的各个工作节点的可用性。

    图片.png

    Spark非常容易用于数据处理,机器学习和流媒体数据; 并且它相对非常快,因在内存中计算。由于Spark是通用的数据处理引擎,它可以很容易地与各种数据源一起使用,如HBase,Cassandra,Amazon S3,HDFS等.Spark为用户提供了四种语言选项:Java,Python,Scala和R.

    参考资料

    Spark Core

    Spark Core支持内存计算,可驱动并行分布式数据处理。 Spark Core负责管理任务,I/O操作,容错和内存管理等。

    图片.png

    Spark组件

    • Spark SQL

    主要处理结构化数据。获取有关数据结构的更多信息,以执行优化,是分布式SQL查询引擎。

    • Spark Streaming

    以可扩展和容错的方式处理实时流数据。它使用微批处理来读取和处理传入的数据流。它创建微批流数据,执行批处理,并将其传递到文件存储或liveashboard。 Spark Streaming可以从多个来源(如Kafka和Flume)中获取数据。

    • Spark MLlib

    以分布式方式在BigData上构建机器学习模型。使用Python的scikit学习库构建ML模型的传统技术在数据巨大时面临许多挑战,而MLlib可以提供大规模的特征工程和机器学习。 MLlib支持分类,回归,聚类,推荐系统和自然语言处理等算法。

    • Spark GraphX/Graphframe

    在图形分析和图形并行执行方面表现优异。图形框架可用于理解底层关系并可视化数据。

    参考:https://spark.apache.org/docs/latest/api/python/

    安装

    参考:https://medium.com/@GalarnykMichael/install-spark-on-ubuntu-pyspark-231c45677de0

    相关文章

      网友评论

        本文标题:pyspark工具机器学习(自然语言处理和推荐系统)1数据演进

        本文链接:https://www.haomeiwen.com/subject/fazjjqtx.html