图解大数据 | 大数据分析挖掘-Spark初步

大数据课程K11——Spark的数据挖掘&&机器学习 之所以经常和数据挖掘合在一起讲是因为现在好多数据挖掘的工作是通过机器学习提供的算法工具实现的,例如广告的ctr预估,PB级别的点击日志在通过典型的机器学习流程可以得到一个预估模型,从而提高互联网广告的点击率和回报率;深度学习:deep learning,机器学习里面现在比较火的一个topic,本身是神经网络算法的衍生,在图像,语音等富媒体的分类和识别上取得了非常好的效果,所以各大研究机构和公司都投入了大量的人力做相关的研究和开发。比如:目标市场,客户关系管理(CRM),市场占有量分析,交叉销售,市场分割。 阅读详情

作者:韩信子@ShowMeAI
教程地址:http://www.showmeai.tech/tutorials/84
本文地址:http://www.showmeai.tech/article-detail/173
声明:版权所有,转载请联系平台与作者并注明出处

收藏ShowMeAI查看更多精彩内容


1.Spark是什么

学习或做大数据开发的同学,都听说或者使用过Spark,从这部分开始,ShowMeAI带大家一起来学习一下Spark相关的知识。

Apache Spark是一种用于大数据工作负载的分布式开源处理系统。它使用内存中缓存和优化的查询执行方式,可针对任何规模的数据进行快速分析查询。Spark基于内存计算,提高了在大数据环境下数据处理的实时性,同时保证了高容错性和高可伸缩性,允许用户将Spark部署在大量的廉价硬件之上,形成集群。

大数据分析挖掘框架; Spark初步; Spark是什么; Spark; 7-1

Spark提供使用Java、Scala、Python 和 R 语言的开发 API,支持跨多个工作负载重用代码—批处理、交互式查询、实时分析、机器学习和图形处理等。Apache Spark 已经成为最受欢迎的大数据分布式处理框架之一。

2.Spark的特点

Apache Spark是个开源和兼容Hadoop的集群计算平台。由加州大学伯克利分校的AMPLabs开发,作为Berkeley Data Analytics Stack(BDAS)的一部分,当下由大数据公司Databricks保驾护航,更是Apache旗下的顶级项目。

1)Apache Spark堆栈中的不同组件

大数据分析挖掘框架; Spark初步; Spark的特点; Apache Spark堆栈中的不同组件; 7-2

2)Apache Spark的优势

大数据分析挖掘框架; Spark初步; Spark的特点; Apache Spark优势; 7-3

  • 更高的性能:因为数据被加载到集群主机的分布式内存中。数据可以被快速的转换迭代,并缓存用以后续的频繁访问需求。在数据全部加载到内存的情况下,Spark有时能达到比Hadoop快100倍的数据处理速度,即使内存不够存放所有数据的情况也能快Hadoop 10倍。

  • 广泛的支持与易用性:通过建立在Java、Scala、Python、SQL(应对交互式查询)的标准API以方便各行各业使用,同时还含有大量开箱即用的机器学习库。

  • 多场景通用性:Spark集成了一系列的库,包括SQL和DataFrame帮助你快速完成数据处理;Mllib帮助你完成机器学习任务;Spark streaming做流式计算。

  • 多平台支持:Spark可以跑在Hadoop、Apache Mesos、Kubernetes等之上,可以从HDFS、Alluxio、Apache Cassandra、Apache Hive以及其他的上百个数据源获取数据。

大数据分析挖掘框架; Spark初步; Spark的特点; Apache Spark优势; 7-4

3.Spark作业与调度

Spark的核心是作业和任务调度系统,它可以保障各种任务高效完整地运行。

1)Spark作业和任务调度系统

Spark通过作业和任务调度系统,能够有效地进行调度完成各种任务,底层的巧妙设计是对任务划分DAG和容错,使得它对低层到顶层的各个模块之间的调用和处理显得游刃有余。

大数据分析挖掘框架; Spark初步; Spark作业与调度; Spark作业和任务调度系统; 7-5

2)基本概念一览

概念解释
作业(Job)RDD中由行动操作所生成的一个或多个调度阶段。
调度阶段(Stage)每个Job作业会因为RDD之间的依赖关系拆分成多组任务集合,称为调度阶段,简称阶段,也叫做任务集(TaskSet)。调度阶段的划分是由DAGScheduler(DAG调度器)来划分的。调度阶段有Shuffle Map Stage和Result Stage两种。
任务(Task)分发到Executor上的工作任务,是Spark实际执行应用的最小单元。Task会对RDD的partition数据执行指定的算子操作,比如flatMap、map、reduce等算子操作,形成新RDD的partition。
DAGScheduler(DAG调度器)DAGScheduler是面向Stage(阶段)的任务调度器,负责接收Spark应用提交的作业,根据RDD的依赖关系划分调度阶段,并提交Stage(阶段)给TaskScheduler。
TaskScheduler(任务调度器)TaskScheduler是面向任务的调度器,它接收DAGScheduler提交过来的Stage(阶段),然后把任务分发到Worker节点运行,由Worker节点的Executor来运行该任务。

3)Spark作业和调度流程

Spark的作业调度主要是指基于RDD的一系列操作构成一个作业,然后在Executor中执行。这些操作算子主要分为转换操作和行动操作,对于转换操作的计算是lazy级别的,也就是延迟执行,只有出现了行动操作才触发作业的提交。

在Spark调度中最重要的是DAGScheduler和TaskScheduler两个调度器:其中DAGScheduler负责任务的逻辑调度,将Job作业拆分成不同阶段的具有依赖关系的任务集,而TaskScheduler则负责具体任务的调度执行。

大数据分析挖掘框架; Spark初步; Spark作业与调度; 流程; 7-6

4.RDD / DataFrame与Dataset

1)Spark API的历史

Apache Spark 中有RDD,DataFrame和Dataset三种不同数据API,发展如下:

大数据分析挖掘框架; Spark初步; RDD, DataFrame与Dataset; Spark API的历史; 7-7

RDD:

  • RDD是Spark最早提供的面向用户的主要API。

  • 从根本上来说,一个RDD就是数据的一个不可变的分布式元素集合,在集群中跨节点分布,可以通过若干提供了转换和处理的底层API进行并行处理。

DataFrame:

  • 与RDD相似,DataFrame也是数据的一个不可变分布式集合。

  • 但与RDD不同的是,数据都被组织到有名字的列中,就像关系型数据库中的表一样。

  • 设计DataFrame的目的就是要让对大型数据集的处理变得更简单,它让开发者可以为分布式的数据集指定一个模式,进行更高层次的抽象。它提供了特定领域内专用的API来处理你的分布式数据,并让更多的人可以更方便地使用Spark,而不仅限于专业的数据工程师。

Dataset:

  • 从Spark 2.0开始,Dataset开始具有两种不同类型的API特征:有明确类型的API和无类型的API。

  • 从概念上来说,可以把DataFrame当作一些通用对象Dataset[Row]的集合的一个别名,而一行就是一个通用的无类型的JVM对象。

  • 与之形成对比,Dataset就是一些有明确类型定义的JVM对象的集合,通过你在Scala中定义的Case Class或者Java中的Class来指定。

2)Spark API简介

在Spark 2.0中对Dataframe和Dataset进行了统一,如下图所示:

大数据分析挖掘框架; Spark初步; RDD / DataFrame与Dataset; Spark API的历史; 7-8

3)Spark的逻辑结构

Spark的整体逻辑结构如下图所示,包含不同的层级及组成部分:

大数据分析挖掘框架; Spark初步; RDD, DataFrame与Dataset; Spark的逻辑结构; 7-9

5.Spark2.0与SparkSession

1)SparkSession的引入

Spark2.0中引入了SparkSession的概念,它为用户提供了一个统一的切入点来使用Spark的各项功能,借助SparkSession,我们可以使用DataFrame和Dataset的各种API,应用Spark的难度也大大下降。

在Spark的早期版本,SparkContext是进入Spark的切入点,RDD数据基于其创建。但在流处理、SQL等场景下有其他的切入点,汇总如下:

  • RDD,创建和操作使用SparkContext提供的API。
  • 流处理,使用StreamingContext。
  • SQL,使用sqlContext。
  • Hive,使用HiveContext。

大数据分析挖掘框架; Spark初步; Spark2.0与SparkSession; SparkSession引入; 7-10

在Spark高版本中,DataSet和DataFrame提供的API逐渐成为新的标准API,需要一个切入点来构建它们。所以,Spark 2.0引入了一个新的切入点(entry point):SparkSession。

  • SparkSession实质上是SQLContext和HiveContext的组合(未来可能还会加上StreamingContext)。

  • 在SQLContext和HiveContext上可用的API,在SparkSession上同样可以使用。

  • SparkSession内部封装了SparkContext,计算实际上由SparkContext完成。

2)创建SparkSession

大数据分析挖掘框架; Spark初步; Spark2.0与SparkSession; 创建SparkSession; 7-11

6.结构化流与连续性应用

1)Continuous Applications

Spark2.0中提出一个概念,Continuous Applications(连续应用程序)。

Spark Streaming等流式处理引擎,致力于流式数据的运算:比如通过map运行一个方法来改变流中的每一条记录,通过reduce可以基于时间做数据聚合。但是很少有只在流式数据上做运算的需求,流式处理往往是一个大型应用的一部分。

大数据分析挖掘框架; Spark初步; 结构化流与连续性应用; Continuous Applications; 7-12

Continuous Applications提出后,实时运算作为一部分,不同系统间的交互等也可以由Structured Streaming来处理。

2)Structured Streaming

Structured Streaming是一个建立在Spark Sql引擎上的可扩展、高容错的流式处理引擎。它使得可以像对静态数据进行批量处理一样来处理流式数据。

大数据分析挖掘框架; Spark初步; 结构化流与连续性应用; Structured Streaming; 7-13

7.参考资料

【大数据技术与处理】推荐阅读

ShowMeAI 系列教程推荐

大数据课程K14——Spark的数据挖掘案例 下表统计了某个国家某一时期的谋杀率(murder)和其他因素之间的影响,这些因素包括:Population(人口),Income(收入),Illiteracy(文盲程度), LifeExp(生活经验),HSGrad(文献中未做具体解释),Frost(温度在冰点以下的平均天数),Area(地区)。//--此外,要指定特征向量是哪几列,以及定义特征向量对应的别称,一般用:features"某种商品的需求量(y,吨)、价格(x1,元/千克)和消费者收入(x2,元)观测值如下表所示。// 设置线性回归参数。 阅读详情

相关推荐

图解大数据技术:从入门到精通系列教程

本篇内容是ShowMeAI组织的「图解大数据处理与开发」系列教程入口,本教程以大数据技术为根基,给大家讲解大数据开发与数据处理分析的相关知识与技能,并配以相关的实战案例帮助大家学习理解。...

ShowMeAI研究中心 1万+

学习Spark的数据挖掘与分析技术

1.背景介绍 数据挖掘和分析是现代科学和工程领域中的关键技术,它们有助于提取有价值的信息和知识,从而为决策提供有力支持。Apache Spark是一个快速、高效的大数据处理框架,它为数据挖掘和分析提供了强大的支持。在本文中,我们将深入探讨Spark的数据挖掘与分析技术,涵盖其背景、核心概念、算法原理、最佳实践、实际应用场景、工具和资源推荐以及未来发展趋势与挑战。 1. 背景介绍 数据挖掘是指...

AI天才研究院 1333

Spark概述及Scala搭建操作步骤

现在Apache Spark已经形成一个丰富的生态圈,包括官方和第三方开发的组件或工具。Spark生态圈也称为伯克利数据分析栈,由AMPLab打造,是致力于在算法,机器,人之间通过大规模集成展现大数据应用的平台。1.Spark Core:spark的核心,提供底层框架及核心支持。2.BlinkDB:一个用于在海量数据上进行交互式SQL查询的大规模并进行查询引擎,允许用户通过权衡数据精度缩短查询响应时间,数据的精度将被控制在允许的误差范围内。

xidiexi的博客 1500

数据挖掘: Spark的数据挖掘与潜在应用

1.背景介绍 数据挖掘是一种利用有关现有数据来发现未知模式、规律、关系或知识的科学。数据挖掘是数据分析的一部分,旨在从大量数据中发现有价值的信息,从而帮助决策者做出更明智的决策。随着数据的增长和复杂性,数据挖掘技术变得越来越重要。 Apache Spark是一个开源的大规模数据处理框架,可以用于数据挖掘、机器学习和实时数据处理等应用。Spark的核心组件是Spark Streaming、MLl...

AI天才研究院 1181

大数据架构与算法深入解析电子书下载

本文还有配套的精品资源,点击获取 简介:《大数据日知录:架构与算法》详尽阐述了大数据技术的核心领域,包括数据存储、计算框架、数据挖掘以及算法应用。本书不仅覆盖了主流的大数据处理框架如Hadoop和Spark,还深入讲解了数据存储解决方案、实时数据处理技术以及大数据分析中的核心算法。它提供了一套完整的知识体系,帮助IT专业人士提升大数据领域的技能。电子书附带书签目录,为读者提...

weixin_31315007的博客 1287

RTKLIB模糊度固定实战:三种模式对比与部分模糊度固定代码解析

本文深入解析RTKLIB中模糊度固定的三种核心模式(continuous、instantaneous、fix and hold),对比其性能与适用场景,并详细拆解了部分模糊度固定技术的源码实现。通过实战案例与代码级解析,为GNSS高精度定位开发者提供了在不同数据特性下提升固定成功率的优化思路与配置建议。

efc1234567的博客 473

​终于有人把Spark大数据分析与挖掘讲明白了

当我们每天面对扑面而来的海量数据时,是战斗还是退却,是去挖掘其中蕴含的无限资源,还是让它们自生自灭?我们的答案是:“一切都取决于你自己”。对于海量而庞大的数据来说,在不同人眼里,既可以是一座亟待销毁的垃圾场,也可以是一个埋藏有无限珍宝的金银岛,这一切都取决于操控者的眼界与能力。本书的目的就是希望所有的大数据技术人员都有这种挖掘金矿的能力!大数据时代什么是“大数据”?一篇名...

fengdu78的博客 2437

保姆级教程:Java调用海康SDK实现录像回放与倍速播放(附完整代码)

本文详细介绍了如何使用Java调用海康SDK实现录像回放与倍速播放功能,包括开发环境配置、设备连接、流媒体处理、倍速播放实现及性能优化等关键步骤。通过完整的代码示例和实战经验,帮助开发者快速构建智能录像回放系统,提升开发效率。

weixin_29285605的博客 357

大数据应用导论 Chapter04 | 大数据分析

本篇博文介绍大数据分析的常用方法——机器学习的概念、常用算法以及相关Python库的使用。 Chapter04 | 大数据分析一、数据分析介绍1、机器学习发展历程2、机器学习的分类2.1、有监督学习(supervised learning)2.2、无监督学习(unsupervised learning)2.3、强化学习(reinforcement learning)3、机器学习的基本概念和流程...

不温卜火 6328

【深度学习】肺结节分割项目实战二:分割肺实质

在后续训练模型的时候如果直接使用原始的肺部CT图像,其中的非肺区域会对训练造成干扰,因此我们需要提取分割肺实质。这一部分参考了kaggle上的教程。 从这张CT图像中可以看出扫描器以外的部分为黑色,背景和肺内部颜色较深,非肺组织和骨头颜色较浅。我们的目的是将肺部分割出来。由于肺部区域和其他部分对比明显,我们可以设置一个合适的阈值对图像中的区域进行隔离。 import argparse import os import numpy as np from medpy.filter.smoothing imp

weixin_42182906的博客 7242

增量编码器资讯大全

增量编码器是什么 增量式编码器是将位移转换成周期性的电信号,再把这个电信号转变成计数脉冲,用脉冲的个数表示位移的大小,按照工作原理编码器可分为增量式和绝对式两类。 增量式编码器是将位移转换成周期性的电信号,再把这个电信号转变成计数脉冲,用脉冲的个数表示位移的大小。 编码器是把角位移或直线位移转换成电信号的一种装置。前者称为码盘,后者称码尺.按照读出方式编码器可以分为接触式和非接触式两种.接触式采...

kindele的博客 6009

我的大数据简略书单

推荐一些不错的大数据相关的书籍,有技术方面的,有架构方面的,也有业务方面的。 除了最后两本书最近准备看,其他都是看过的。读书笔记都在有道云笔记里。有空再整理。 还有些看过的书,比如《大数据导论》、《Spark快速大数据分析》等,没在推荐列。 技术书籍: Hadoop: 《Hadoop权威指南——第四版》 Spark: 《图解Spark核心技术与案列实战》(...

王某的博客 4148

手把手教你绕过网易易盾验证码:滑块、点选、语序全攻略

本文深度解析了以网易易盾为代表的现代验证码技术,重点探讨了滑块、点选、语序及空间推理等交互式验证码的工作原理与对抗策略。文章从行为验证和空间推理的核心逻辑出发,剖析了验证码交互的数据流与关键参数,并提供了模拟人类行为轨迹、维护设备指纹等工程实践方法,旨在帮助开发者在合规前提下设计更健壮的自动化流程。

3c4x5z6v7b的博客 710

推荐上百本优质大数据书籍,附必读清单(大数据宝藏)

历时多年整理,每看到一本好书都会收藏下来,到现在一看竟然有100多本了 这些书籍确实是大数据的宝藏,从大数据入门到实战,深入原理,大数据架构等全部都有 从 hadoop,hive,spark,flink,kafka,hbase,kudu,clickhouse,数仓建模,大数据算法,机器学习,数据科学,jvm虚拟机,数学思维,5G时代等等全都有 以下为书籍截图: 书籍太多,所以先推荐几本必读书籍(我读过的认为比较好的,其他也有很好的只是我还没读,所以没写) Hadoop+Spark大

yuan_more的博客 7336

从查表法到实时计算:SimpleFOC库中正弦函数优化的技术演进

本文深入探讨了SimpleFOC库v2.0.1版本中正弦函数优化技术的演进,从传统查表法到实时计算的创新实践。通过定点数优化、对称性利用和分段线性插值等关键技术,实现了在嵌入式电机控制中的高效三角函数计算,显著提升性能和资源利用率。

weixin_28273593的博客 456

【QNX+Android虚拟化方案】01 - 芯片介绍

【QNX+Android虚拟化方案】01 - 芯片介绍

|~~~热爱生活、努力学习的小伙汁~~~| 2949

认识spark,Scala简介

Spark是一种基于内存的快速、通用、可扩展的大数据分析计算引擎。是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发的通用内存并行计算框架Spark得到了众多大数据公司的支持,这些公司包括Hortonworks、IBM、Intel、Cloudera、MapR、Pivotal、百度、阿里、腾讯、京东、携程、优酷土豆。当前百度的Spark已应用于大搜索、直达号、百度大数据等业务;

2401_83185136的博客 1056

第81篇:Vibe Coding时代:LangGraph + Eval评估体系实战,解决 Agent 优化全靠感觉的问题

本文介绍了一个为LangGraph Coding Agent设计的评估体系解决方案。文章首先指出了当前AI Coding Agent开发中的常见问题:优化过程缺乏客观评估标准,导致改进效果难以量化。随后提出了一个完整的评估框架,包括评估指标(任务成功率、质量指标、安全指标、成本指标和流程指标)、项目结构设计和评估案例集。 核心内容包括: 设计了JSON格式的评估案例集,覆盖正常任务、边界任务和高风险场景 实现了模拟Agent输出的演示代码 构建了多维度评分系统,包括关键词匹配、禁用词检测和成本评估 提供了评

sundong_81的博客 48

大数据书单(100本)

大数据书单(100本)

想练武,就得下功夫 6332

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

spark的介绍与入门

Spark是一种基于内存的快速、通用、可扩展的大数据分析计算引擎。是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发的通用内存并行计算框架Spark得到了众多大数据公司的支持,这些公司包括Hortonworks、IBM、Intel、Cloudera、MapR、Pivotal、百度、阿里、腾讯、京东、携程、优酷土豆。当前百度的Spark已应用于大搜索、直达号、百度大数据等业务;

weixin_68473774的博客 1167

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

【Spark】Day01-入门、模块组成、4种运行模式详解及配置、案例实操(spark分析过程)...

一、概述 1、概念 基于内存的大数据分析计算引擎 2、特点 快速、通用、可融合性 3、Spark内置模块【腾讯8000台spark集群】 Spark运行在集群管理器(Cluster Manager)上,支持3种集群管理器:Yarn、Standalone(脱机,Spark自带)、Apache Mesos(国外) Spark Core:基本功能(任务调度、内存管理、错误恢复、与存储系统交互)、弹性...

USTSD的博客 141

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

大数据分析项目生命周期

前言 这里说的分析是狭义上的数据分析,并不包含数据挖掘,它们之间具体的区别后续文章会详细描述 这里只做一个简单的总结如下表: 差异角度 数据分析 数据挖掘 定义 描述和探索性分析,评估现状和修正不足 技术性的“采矿”,发现未知的模式和规律 侧重点 实际的业务 挖掘技术的落实,完成“采矿”过程 技能 统计学、数据库、Excel、可视化等 过硬的数学功底和编程技术 结果 需...

SunnyRivers 7766

【每周一本书】之《大数据核心技术与实用算法》

大数据技术与应用展现出锐不可当的强大生命力,科学界与企业界寄予无比的厚望。大数据成为继20世纪末21世纪初互联网蓬勃发展以来的又一轮IT工业革命编辑 | abby官网 | www.datayuan.cn微信公众号ID | datayuancn大数据技术与应用展现出锐不可当的强大生命力,科学界与企业界寄予无比的厚望。大数据成为继20世纪末21世纪初互联网蓬勃发展以来的又一轮IT工业革命。大数据技术是

数据猿 716

科普帖:五分钟快速了解大数据

当前,整个互联网正在从IT时代向DT时代演进,大数据技术也正在助力企业和公众敲开DT世界大门。虽然大数据潮流在默默的推进各种变革,但您真的了解大数据么?大数据定义一般而言,大数据是指数量庞大而复杂,传统的数据处理产品无法在合理的时间内捕获、管理和处理的数据集合。这些大数据集可以包括结构化、非结构化和半结构化数据,需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的...

weixin_34366546的博客 330
上一篇: 图解大数据 | Hive与HBase详解@海量数据库查询
下一篇: 图解大数据 | 基于Spark RDD的大数据处理分析
ShowMeAI
博客等级 码龄5年 6514粉丝 672原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ShowMeAI

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值