国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Spark大數(shù)據(jù)分析與實(shí)戰(zhàn)筆記(第二章 Spark基礎(chǔ)-04)

這篇具有很好參考價(jià)值的文章主要介紹了Spark大數(shù)據(jù)分析與實(shí)戰(zhàn)筆記(第二章 Spark基礎(chǔ)-04)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

每日一句正能量

“春風(fēng)十里,不如你?!?br> 這句來自現(xiàn)代作家安妮寶貝的經(jīng)典句子,它表達(dá)了對(duì)他人的贊美與崇拜。每個(gè)人都有著不同的閃光點(diǎn)和特長,在這個(gè)世界上,不必去羨慕別人的光芒,自己所擁有的價(jià)值是獨(dú)一無二的。每個(gè)人都有無限的潛力和能力,只要勇敢展現(xiàn)自己,就能在人生舞臺(tái)上綻放光彩。每天鼓勵(lì)自己,相信自己,發(fā)揮自己的優(yōu)點(diǎn)和才能,你就能成為那道獨(dú)特的風(fēng)景,給世界帶來不一樣的美好。

引言

Spark是一個(gè)用于大規(guī)模數(shù)據(jù)處理的高性能分布式計(jì)算框架。它提供了一個(gè)簡單易用的編程模型和豐富的API,可以幫助我們?cè)诜植际江h(huán)境中快速地進(jìn)行數(shù)據(jù)處理和分析。

在開始編寫自己的Spark程序之前,我們可以先嘗試運(yùn)行Spark官方提供的示例程序來熟悉Spark的基本用法和工作原理。

其中一個(gè)經(jīng)典的官方示例是SparkPi,它通過隨機(jī)生成的點(diǎn)來估算圓周率π的值。我們可以通過這個(gè)程序來了解如何使用Spark進(jìn)行并行計(jì)算和分布式數(shù)據(jù)處理。

接下來,我們將一步步地體驗(yàn)運(yùn)行Spark官方示例SparkPi,并觀察它在分布式集群上的運(yùn)行效果。通過這個(gè)過程,我們可以更好地理解Spark的運(yùn)行機(jī)制和優(yōu)勢(shì),為編寫自己的Spark程序打下良好的基礎(chǔ)。讓我們開始吧!

章節(jié)概要

Spark是一個(gè)快速、通用、可擴(kuò)展的大數(shù)據(jù)處理引擎,具有高效的內(nèi)存計(jì)算能力和豐富的數(shù)據(jù)處理功能。在大數(shù)據(jù)領(lǐng)域中,Spark已經(jīng)成為一個(gè)重要的工具和平臺(tái),被廣泛應(yīng)用于數(shù)據(jù)分析、機(jī)器學(xué)習(xí)、圖計(jì)算等多個(gè)領(lǐng)域。

了解Spark的運(yùn)行架構(gòu)和原理,對(duì)于高效地使用和優(yōu)化Spark程序非常重要。Spark的運(yùn)行架構(gòu)和原理涉及到數(shù)據(jù)處理模型、任務(wù)調(diào)度機(jī)制、資源管理策略等多個(gè)方面的知識(shí)。理解這些知識(shí)可以幫助我們更好地理解Spark的工作原理,從而合理地配置和管理計(jì)算資源,設(shè)計(jì)和優(yōu)化Spark程序。

本章節(jié)將深入探討Spark的運(yùn)行架構(gòu)與原理。首先,我們將介紹Spark的基本概念和特點(diǎn),以及Spark的集群模式和運(yùn)行模式。然后,我們將詳細(xì)解析Spark的執(zhí)行引擎Spark Core,包括其任務(wù)劃分與調(diào)度機(jī)制。接著,我們將介紹Spark的數(shù)據(jù)抽象模塊RDD和DataFrame/Dataset,并分析其在數(shù)據(jù)處理中的作用和原理。此外,本章節(jié)還將對(duì)Spark的資源管理器和任務(wù)調(diào)度器進(jìn)行詳細(xì)討論,包括Cluster Manager和DAG調(diào)度器的工作原理和實(shí)現(xiàn)方式。最后,我們將通過實(shí)際的運(yùn)行架構(gòu)實(shí)例分析,具體了解Spark在不同的集群模式下的運(yùn)行架構(gòu)和工作流程。

通過學(xué)習(xí)本章節(jié)內(nèi)容,讀者將能夠全面了解Spark的運(yùn)行架構(gòu)與原理,掌握Spark程序的設(shè)計(jì)和優(yōu)化方法。無論是初學(xué)者還是有一定經(jīng)驗(yàn)的開發(fā)者,通過深入學(xué)習(xí)Spark的運(yùn)行架構(gòu)與原理,都能夠更好地利用Spark處理大數(shù)據(jù)任務(wù),并開發(fā)出高效、可擴(kuò)展的Spark應(yīng)用程序。

2.4 體驗(yàn)第一個(gè)Spark程序

2.4.1 運(yùn)行Spark官方示例SparkPi

Spark集群已經(jīng)部署完畢,接下來我們使用Spark官方示例SparkPi,體驗(yàn)Spark集群提交任務(wù)的流程。首先進(jìn)入spark目錄,執(zhí)行命令如下。

bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://hadoop01:7077 \
--executor-memory 1G \
--total-executor-cores 1 \
examples/jars/spark-examples_2.11-2.3.2.jar \
10

上述命令參數(shù)表示含義如下:

  • 1、–master spark://hadoop01:7077:指定Master的地址是hadoop01節(jié)點(diǎn)
  • 2、–executor-memory1G:指定每個(gè)executor的可用內(nèi)存為1G
  • 3、–total-executor-cores 1:指定每個(gè)executor使用的CPU核心數(shù)為1個(gè)

按【回車鍵】提交Spark作業(yè)后,觀察Spark集群管理界面,其中“Running Applications”列表表示當(dāng)前Spark集群正在計(jì)算的作業(yè),執(zhí)行幾秒后,刷新界面,在Completed Applications表單下,可以看到當(dāng)前應(yīng)用執(zhí)行完畢,返回控制臺(tái)查看輸出信息,出現(xiàn)了“Pi is roughly 3.140691140691141”,說明Pi值已經(jīng)被計(jì)算完畢。,如下圖所示。
Spark大數(shù)據(jù)分析與實(shí)戰(zhàn)筆記(第二章 Spark基礎(chǔ)-04),# Spark大數(shù)據(jù)分析與實(shí)戰(zhàn),spark,筆記,大數(shù)據(jù)
Spark大數(shù)據(jù)分析與實(shí)戰(zhàn)筆記(第二章 Spark基礎(chǔ)-04),# Spark大數(shù)據(jù)分析與實(shí)戰(zhàn),spark,筆記,大數(shù)據(jù)
計(jì)算出來的結(jié)果準(zhǔn)確是由參數(shù)(命令中最后的10)決定的,這個(gè)參數(shù)越大,準(zhǔn)確度超高。

在高可用模式提交任務(wù)時(shí),可能涉及多個(gè)Master,在提交任務(wù)時(shí),需要讓SparkContext指向一個(gè)Master列表 ,執(zhí)行提交任務(wù)的命令如下。

bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://hadoop01:7077,hadoop02:7077,hadoop03:7077 \
--executor-memory 1G \
--total-executor-cores 1 \
examples/jars/spark-examples_2.11-2.3.2.jar \
10

總結(jié)

在體驗(yàn)第一個(gè)Spark程序之前,確保已經(jīng)安裝好了Spark,并且配置環(huán)境變量和啟動(dòng)Spark集群。

首先,在終端中輸入以下命令啟動(dòng)Spark集群:

sbin/start-all.sh

接著,創(chuàng)建一個(gè)新的Spark應(yīng)用程序,命名為SparkPi,并在該應(yīng)用程序中編寫代碼計(jì)算Pi的近似值。

import org.apache.spark.{SparkConf, SparkContext}

object SparkPi {
  def main(args: Array[String]): Unit = {
    val conf = new SparkConf().setAppName("SparkPi")
    val sc = new SparkContext(conf)

    val slices = if (args.length > 0) args(0).toInt else 2
    val n = 100000 * slices
    val count = sc.parallelize(1 to n, slices).map { i =>
      val x = Math.random() * 2 - 1
      val y = Math.random() * 2 - 1
      if (x * x + y * y <= 1) 1 else 0
    }.reduce(_ + _)

    println("Pi is roughly " + 4.0 * count / n)

    sc.stop()
  }
}

代碼解釋:

  1. 創(chuàng)建SparkConf對(duì)象,設(shè)置應(yīng)用程序的名稱為"SparkPi"。
  2. 使用SparkConf創(chuàng)建SparkContext對(duì)象,該對(duì)象將作為Spark應(yīng)用程序的入口點(diǎn)。
  3. 通過命令行參數(shù)獲取切片的數(shù)量(默認(rèn)為2),計(jì)算需要生成的隨機(jī)點(diǎn)的總數(shù)。
  4. 使用parallelize方法創(chuàng)建一個(gè)RDD,該RDD包含了1到n的數(shù)字,并指定了切片的數(shù)量。
  5. 對(duì)每個(gè)數(shù)字進(jìn)行映射操作,生成一個(gè)隨機(jī)點(diǎn),并判斷該點(diǎn)是否在圓內(nèi)。
  6. 對(duì)所有隨機(jī)點(diǎn)的結(jié)果進(jìn)行reduce操作,得到圓內(nèi)點(diǎn)的數(shù)量。
  7. 根據(jù)公式計(jì)算Pi的近似值。
  8. 打印結(jié)果并停止SparkContext。

保存代碼到一個(gè)文件中,例如"SparkPi.scala"。

接下來,在終端中輸入以下命令來編譯和打包程序:

$SPARK_HOME/bin/spark-submit --class SparkPi --master spark://<master-url> SparkPi.jar

其中,"“是Spark集群的URL,例如"spark://localhost:7077”。

程序會(huì)開始運(yùn)行,輸出Pi的近似值。

最后,可以在Spark集群的Web界面上查看運(yùn)行日志和結(jié)果。

通過體驗(yàn)第一個(gè)Spark程序,我們了解了Spark應(yīng)用程序的基本結(jié)構(gòu)和運(yùn)行方式??梢赃M(jìn)一步學(xué)習(xí)和探索更復(fù)雜的Spark程序,以及使用Spark的其他功能和API。

轉(zhuǎn)載自:https://blog.csdn.net/u014727709/article/details/132240278
歡迎 ??點(diǎn)贊?評(píng)論?收藏,歡迎指正文章來源地址http://www.zghlxwxcb.cn/news/detail-777384.html

到了這里,關(guān)于Spark大數(shù)據(jù)分析與實(shí)戰(zhàn)筆記(第二章 Spark基礎(chǔ)-04)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • NanoEdge AI Studio 教程 第二章--異常數(shù)據(jù)分析

    NanoEdge AI Studio 教程 第二章--異常數(shù)據(jù)分析

    OK,好久不見,各位,最近挺忙,歡迎回來。 讓我們開始第二章節(jié),異常判斷。 目錄 一 Nano Edge AI Studio 簡單概述 二 異常判斷 1.工程選擇 2.進(jìn)行工程設(shè)置 2.1 MCU選擇 2.2 數(shù)據(jù)設(shè)定 3.輸入數(shù)據(jù) 4.模型訓(xùn)練 5.驗(yàn)證 6.生成模型 7.布置模型 NanoEdge AI Studio主要可以實(shí)現(xiàn)的功能主要分為四

    2024年04月17日
    瀏覽(24)
  • 從零開始學(xué)數(shù)據(jù)分析之——《線性代數(shù)》第二章 矩陣

    從零開始學(xué)數(shù)據(jù)分析之——《線性代數(shù)》第二章 矩陣

    元素全為實(shí)數(shù)的矩陣稱為實(shí)矩陣 ?元素全為負(fù)數(shù)的矩陣稱為復(fù)矩陣 只有一行(列)的矩陣稱為行(列)矩陣 元素全為零的矩陣稱為零矩陣 行數(shù)和列數(shù)都等于n的矩陣稱為n階矩陣或n階方陣 主對(duì)角線元素全為1,其余元素全為0的矩陣稱為單位矩陣,記作E或I 兩個(gè)矩陣行數(shù)和列數(shù)

    2023年04月23日
    瀏覽(24)
  • Spark大數(shù)據(jù)分析與實(shí)戰(zhàn)筆記(第三章 Spark RDD 彈性分布式數(shù)據(jù)集-02)

    Spark大數(shù)據(jù)分析與實(shí)戰(zhàn)筆記(第三章 Spark RDD 彈性分布式數(shù)據(jù)集-02)

    人生很長,不必慌張。你未長大,我要擔(dān)當(dāng)。 傳統(tǒng)的MapReduce雖然具有自動(dòng)容錯(cuò)、平衡負(fù)載和可拓展性的優(yōu)點(diǎn),但是其最大缺點(diǎn)是采用非循環(huán)式的數(shù)據(jù)流模型,使得在迭代計(jì)算式要進(jìn)行大量的磁盤IO操作。Spark中的RDD可以很好的解決這一缺點(diǎn)。 RDD是Spark提供的最重要的抽象概念

    2024年02月22日
    瀏覽(372)
  • Spark大數(shù)據(jù)分析與實(shí)戰(zhàn)筆記(第一章 Scala語言基礎(chǔ)-3)

    Spark大數(shù)據(jù)分析與實(shí)戰(zhàn)筆記(第一章 Scala語言基礎(chǔ)-3)

    對(duì)于每一門編程語言來說,數(shù)組(Array)都是重要的數(shù)據(jù)結(jié)構(gòu)之一,主要用來存儲(chǔ)數(shù)據(jù)類型相同的元素。Scala中的數(shù)組分為定長數(shù)組和變長數(shù)組,定義定長數(shù)組,需要使用new,而定義變長數(shù)組時(shí),則需要導(dǎo)包 import scala.collection.mutable.ArrayBuffer 。 數(shù)組(Array)主要用來存儲(chǔ)

    2024年02月10日
    瀏覽(84)
  • Spark大數(shù)據(jù)分析與實(shí)戰(zhàn)筆記(第一章 Scala語言基礎(chǔ)-1)

    Spark大數(shù)據(jù)分析與實(shí)戰(zhàn)筆記(第一章 Scala語言基礎(chǔ)-1)

    Spark是專為大規(guī)模數(shù)據(jù)處理而設(shè)計(jì)的快速通用的計(jì)算引擎,它是由Scala語言開發(fā)實(shí)現(xiàn)的,關(guān)于大數(shù)據(jù)技術(shù),本身就是計(jì)算數(shù)據(jù),而Scala既有面向?qū)ο蠼M織項(xiàng)目工程的能力,又具備計(jì)算數(shù)據(jù)的功能,同時(shí)Spark和Scala的緊密集成,本書將采用Scala語言開發(fā)Spark程序,所以學(xué)好Scala將有助

    2024年02月11日
    瀏覽(102)
  • Spark大數(shù)據(jù)分析與實(shí)戰(zhàn)筆記(第一章 Scala語言基礎(chǔ)-2)

    Spark大數(shù)據(jù)分析與實(shí)戰(zhàn)筆記(第一章 Scala語言基礎(chǔ)-2)

    Spark是專為大規(guī)模數(shù)據(jù)處理而設(shè)計(jì)的快速通用的計(jì)算引擎,它是由Scala語言開發(fā)實(shí)現(xiàn)的,關(guān)于大數(shù)據(jù)技術(shù),本身就是計(jì)算數(shù)據(jù),而Scala既有面向?qū)ο蠼M織項(xiàng)目工程的能力,又具備計(jì)算數(shù)據(jù)的功能,同時(shí)Spark和Scala的緊密集成,本書將采用Scala語言開發(fā)Spark程序,所以學(xué)好Scala將有助

    2024年02月11日
    瀏覽(92)
  • Spark大數(shù)據(jù)分析與實(shí)戰(zhàn)課后答案

    一、填空題 1、Scala語言的特性包含 面向?qū)ο缶幊?、函數(shù)式編程的、 靜態(tài)類型的 、可擴(kuò)展的、 可以交互操作的 。 2、在Scala數(shù)據(jù)類型層級(jí)結(jié)構(gòu)的底部有兩個(gè)數(shù)據(jù)類型,分別是 Nothing 和 Null 。 3、在Scala中,聲明變量的有 var 聲明變量和 val 聲明常量。 4、在Scala中,獲取

    2024年01月17日
    瀏覽(95)
  • 企業(yè)Spark案例--酒店數(shù)據(jù)分析實(shí)戰(zhàn)提交

    第1關(guān):數(shù)據(jù)清洗--過濾字段長度不足的且將出生日期轉(zhuǎn): package?com.yy ? import?org.apache.spark.rdd.RDD import?org.apache.spark.sql.{DataFrame,?Dataset,?SparkSession} object?edu{ ????/**********Begin**********/ ????//?此處可填寫相關(guān)代碼 ????case?class?Person(id:String,Name:String,CtfTp:String,CtfId:String,G

    2024年02月09日
    瀏覽(111)
  • Spark大數(shù)據(jù)分析與實(shí)戰(zhàn)課后習(xí)題參考答案

    項(xiàng)目一: 一、選擇題 DCCDAD 二、簡答題 1、Hadoop MapReduce要求每個(gè)步驟間的數(shù)據(jù)序列化到磁盤,所以I/O成本很高,導(dǎo)致交互分析和迭代算法開銷很大;Spark 提供了內(nèi)存計(jì)算,把中間結(jié)果放到內(nèi)存中,帶來了更高的迭代運(yùn)算效率。通過支持有向無環(huán)圖(DAG)的分布式并行計(jì)算的編

    2024年02月11日
    瀏覽(23)
  • 大數(shù)據(jù)實(shí)戰(zhàn)(hadoop+spark+python):淘寶電商數(shù)據(jù)分析

    大數(shù)據(jù)實(shí)戰(zhàn)(hadoop+spark+python):淘寶電商數(shù)據(jù)分析

    虛擬機(jī):Ubuntu 20.04.6 LTS docker容器 hadoop-3.3.4 spark-3.3.2-bin-hadoop3 python,pyspark, pandas,matplotlib mysql,mysql-connector-j-8.0.32.jar(下載不需要積分什么的) 淘寶用戶數(shù)據(jù) 以上的技術(shù)積累需要自行完成 創(chuàng)建容器(##ubuntu的代碼塊,在ubuntu中運(yùn)行,無特殊說明的在docker中運(yùn)行) 更新軟件

    2024年02月11日
    瀏覽(30)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包