[雪峰磁针石博客]pyspark工具机器学习(自然语言处理和推荐系统)1数据演进
在早期员工将数据输入系统,数据点非常有限,只占用少数几个字段。然后是互联网,每个人都可以轻松获取信息。现在,用户可输入并生成自己的数据。随着互联网用户数量呈指数级增长,用户创造的高数据增长率。例如:登录/注册表单允许用户填写自己的详细信息,在各种社交平台上上传照片和视频。这导致了巨大的数据生成以及快速处理数据量的且可扩展的框架的需求。
数据生成
设备都捕获数据,如汽车,建筑物,手机,手表,飞行引擎。
数据处理也从串行转向并行处理。
Spark
Spark是处理海量数据集的框架,具有高速并行处理功能。它最初是加州大学伯克利分校AMPLabin 2009的研究项目,于2010年初开源。 2016年,Spark发布了针对深度学习的TensorFrames。
Spark底层使用RDD(弹性分布式数据集Resilient Distributed Dataset)的数据结构。它能够在执行过程中重新创建任何时间点。 RDD使用最后一个创建的RDD,并且总是能够在出现任何错误时进行重构。它们是不可变的,因为原始RDD还在。由于Spark基于分布式框架,因此它适用于master和worker节点设置。执行任何活动的代码首先写在Spark Driver上,数据实际驻留的workers之间共享。每个工作节点包含将实际执行代码的Executors。 Cluster Manager会检查下一个任务分配的各个工作节点的可用性。
Spark非常容易用于数据处理,机器学习和流媒体数据; 并且它相对非常快,因在内存中计算。由于Spark是通用的数据处理引擎,它可以很容易地与各种数据源一起使用,如HBase,Cassandra,Amazon S3,HDFS等.Spark为用户提供了四种语言选项:Java,Python,Scala和R.
参考资料
- python测试开发项目实战-目录
- python工具书籍下载-持续更新
- python 3.7极速入门教程 - 目录
- 原文地址
- 本文涉及的python测试开发库 谢谢点赞!
- [本文相关海量书籍下载](https://github.com/china-testing/python-api-tesing/blob/master/books.md
Spark Core
Spark Core支持内存计算,可驱动并行分布式数据处理。 Spark Core负责管理任务,I/O操作,容错和内存管理等。
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
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
[雪峰磁针石博客]pyspark工具机器学习(自然语言处理和推荐系统)2数据处理1
本章介绍数据处理。数据处理是执行Machine Learning所需的关键步骤,因为我们需要清理,过滤,合并和转换我们的所需数据形式。 快速入门 读取 >>> from pyspark.sql import SparkSession >>> spark=SparkSession.builder.appName('data_processing').getOrCreate() >>> df=spark.read.csv('sample_data.csv',inferSchema=True, header=True) >>> df.columns ['ratings', 'age', 'experience', 'family', 'mobile'] >>> len(df.columns) 5 >>> df.count() 33 >>> df.printSchema() root |-- ratings: integer (nullable = true) |-- ...
- 下一篇
[雪峰磁针石博客]大数据Hadoop工具python教程9-Luigi工作流
管理Hadoop作业的官方工作流程调度程序是Apache Oozie。与许多其他Hadoop产品一样,Oozie是用Java编写的,是基于服务器的Web应用程序,它运行执行Hadoop MapReduce和Pig的工作流作业。 Oozie工作流是在XML文档中指定的控制依赖性指导非循环图(DAG)中排列的动作集合。虽然Oozie在Hadoop社区中有很多支持,但通过XML属性配置工作流和作业的学习曲线非常陡峭。 Luigi是Spotify创建的Python替代方案,可以构建和配置复杂的批处理作业管道。它处理依赖项解析,工作流管理,可视化等等。它还拥有庞大的社区,并支持许多Hadoop技术。在github上超过1万星。 本章介绍Luigi的安装和工作流程的详细说明。 安装 pip install luigi 工作流 在Luigi中,工作流由一系列操作组成,称为任务。 Luigi任务是非特定的,也就是说,它们可以是任何可以用Python编写的东西。任务的输入和输出数据的位置称为目标(target)。目标通常对应于磁盘上,HDFS上或数据库中的文件位置。除了任务和目标之外,Luigi还利用参...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- MySQL8.0.19开启GTID主从同步CentOS8
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS8编译安装MySQL8.0.19
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS关闭SELinux安全模块
- Hadoop3单机部署,实现最简伪集群
- CentOS6,7,8上安装Nginx,支持https2.0的开启