[雪峰磁针石博客]pyspark工具机器学习(自然语言处理和推荐系统)1数据演进-阿里云开发者社区

开发者社区> 大数据> 正文
登录阅读全文

[雪峰磁针石博客]pyspark工具机器学习(自然语言处理和推荐系统)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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
大数据
使用钉钉扫一扫加入圈子
+ 订阅

大数据计算实践乐园,近距离学习前沿技术

其他文章