欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

大數(shù)據(jù)之Spark基礎(chǔ)環(huán)境

 更新時(shí)間:2023年04月06日 11:41:37   作者:敲鍵盤的杰克  
本篇文章開始介紹Spark基礎(chǔ)知識(shí),包括Spark誕生的背景,應(yīng)用環(huán)境以及入門案例等,感興趣的同學(xué)可以參考閱讀本文

前言

本篇文章開始介紹Spark基礎(chǔ)知識(shí),包括Spark誕生的背景,應(yīng)用環(huán)境以及入門案例等,還是Spark學(xué)習(xí)之旅前,得先安裝Spark環(huán)境才行,具體安裝步驟可以看Spark環(huán)境搭建,讓我們接著往下聊。

一、Spark概述

(一)Spark是什么

Spark是Apache頂級(jí)的開源項(xiàng)目,主要用于處理大規(guī)模數(shù)據(jù)的分析引擎,該引擎的核心數(shù)據(jù)結(jié)構(gòu)是RDD彈性分布式數(shù)據(jù)集,這是一種分布式內(nèi)存抽象,程序員可以使用RDD在大規(guī)模集群中做內(nèi)存運(yùn)算,并具有一定的容錯(cuò)方式;

Spark保留了MapReduce的分布式并行計(jì)算的優(yōu)點(diǎn),還改進(jìn)了其較為明顯的缺陷,中間數(shù)據(jù)存儲(chǔ)在內(nèi)存中,大大提高了運(yùn)行速度,同時(shí)還提供了豐富的API,提高了開發(fā)速度。

(二)Spark的四大特點(diǎn)

Spark底層使用Scala語言,是一種面向?qū)ο?、函?shù)式編程語言,能夠像操作本地集合一樣輕松的操作分布式數(shù)據(jù)集,Spark具有運(yùn)行速度快、易用性好、通用性強(qiáng)和隨處運(yùn)行等特點(diǎn);

(1)速度快,Spark支持內(nèi)存計(jì)算,并且通過DAG有向無環(huán)圖執(zhí)行引擎支持無環(huán)數(shù)據(jù)流,相對(duì)MapReduce來說,Spark處理數(shù)據(jù)時(shí),可以將中間處理結(jié)果數(shù)據(jù)存儲(chǔ)到內(nèi)存中,Spark每個(gè)任務(wù)以線程方式執(zhí)行,并不是像MapReduce以進(jìn)程方式執(zhí)行,線程的啟動(dòng)和銷毀相對(duì)于進(jìn)程來說比較快;
(2)易于使用,Spark 支持Java、Scala、Python 、R和SQL語言等多種語言;
(3)通用型強(qiáng),Spark 還提供包括Spark SQL、Spark Streaming、MLib 及GraphX在內(nèi)的多個(gè)工具庫,可以在同一個(gè)應(yīng)用中無縫地使用這些工具庫;
(4)運(yùn)行方式多,Spark 支持多種運(yùn)行方式,包括在 Hadoop 和 Mesos 上,也支持 Standalone的獨(dú)立運(yùn)行模式,同時(shí)也可以運(yùn)行在云Kubernetes上,獲取數(shù)據(jù)的方式也很多,支持從HDFS、HBase、Cassandra 及 Kafka 等多種途徑獲取數(shù)據(jù)。

(三)Spark的風(fēng)雨十年

Spark的發(fā)展主要經(jīng)歷過幾大階段:

(1)2009年Spark起源于加州伯克利分校;
(2)2013年被捐贈(zèng)給Apache;
(3)2014年稱為Apache頂級(jí)項(xiàng)目;
(4)2016年Spark2.0發(fā)布
(5)2019年Spark3.0發(fā)布

(四)Spark框架模塊

整個(gè)Spark 框架模塊包含:Spark Core、 Spark SQL、 Spark Streaming、 Spark GraphX和 Spark MLlib,大部分模塊的能力都在建立在其核心引擎之上;

(1)Spark Core,該模塊的數(shù)據(jù)結(jié)構(gòu)是RDD,實(shí)現(xiàn)了Spark的基本功能,包括RDD、任務(wù)調(diào)度、內(nèi)存管理、錯(cuò)誤恢復(fù)以及與存儲(chǔ)系統(tǒng)交互等;
(2)Spark SQL,該模塊的數(shù)據(jù)結(jié)構(gòu)主要是DataFrame,是Spark用來操作結(jié)構(gòu)化數(shù)據(jù)的程序包,通過該模塊,可以直接使用SQL操作數(shù)據(jù);
(3)Spark Streaming,其主要的數(shù)據(jù)結(jié)構(gòu)是DStream離散化流,是Spark對(duì)實(shí)時(shí)數(shù)據(jù)進(jìn)行流式計(jì)算的組件;
(4)Spark GraphX,該模塊的數(shù)據(jù)結(jié)構(gòu)為RDD或者DataFrame,是Spark中用于圖計(jì)算的組件,性能良好,擁有豐富的功能和運(yùn)算符,能在海量數(shù)據(jù)上自如地運(yùn)行復(fù)雜的圖算法;
(5)Spark MLlib,該模塊的數(shù)據(jù)結(jié)構(gòu)也是RDD或者DataFrame,主要用于機(jī)器學(xué)習(xí),提供了常見的機(jī)器學(xué)習(xí)功能的程序庫,包括分類、回歸、聚類等,同時(shí)也支持模型評(píng)估和數(shù)據(jù)導(dǎo)入等功能。

(五)Spark通信框架

整個(gè)Spark 框架通信模塊為Netty,Spark 1.6版本引入了Netty,在Spark 2.0之后,完全使用Netty,并移除了akka。

總結(jié)

Spark保留了MapReduce的分布式計(jì)算,基于內(nèi)存計(jì)算,提高的數(shù)據(jù)的計(jì)算能力;
其主要模塊有Spark Core、 Spark SQL、 Spark Streaming、 Spark GraphX和 Spark MLlib,不僅可以通過SQL的方式操作數(shù)據(jù),還可以對(duì)實(shí)時(shí)數(shù)據(jù)進(jìn)行流式計(jì)算,同時(shí)也支持機(jī)器學(xué)習(xí);
Spark的特點(diǎn)主要是計(jì)算速度快,支持多種編程語言,并且提供了眾多友好的API,使得Spark的學(xué)習(xí)成本大大降低了。

以上就是大數(shù)據(jù)之Spark基礎(chǔ)環(huán)境的詳細(xì)內(nèi)容,更多關(guān)于Spark基礎(chǔ)環(huán)境的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論