[雪峰磁针石博客]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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值