<dfn id="hx3xz"><listing id="hx3xz"><menuitem id="hx3xz"></menuitem></listing></dfn>

      <form id="hx3xz"><form id="hx3xz"><th id="hx3xz"></th></form></form><form id="hx3xz"></form>
        400-650-7353
        您所在的位置:首頁 > IT干貨資料 > 大數據 > 【大數據基礎知識】Spark算子介紹及map算子的使用

        【大數據基礎知識】Spark算子介紹及map算子的使用

        • 發布: 大數據培訓
        • 來源:大數據干貨資料
        • 2021-07-07 18:48:01
        • 閱讀()
        • 分享
        • 手機端入口

        進入到大數據圈的朋友們都對Spark的強大功能有所了解,那么提到Spark,我們就想到了其中的算子,Spark的強大功能如何實現,自然離不開其中的算子了。怎么理解這些算子呢,我們可以簡單把它理解為方法或函數,Spark已經定義好了很多功能強大的方法或函數,在這里稱為算子。

        Spark中的算子分為兩類:一是轉換類算子(Transformation),二是行動類算子(Action)。轉換類算子執行后得到新的RDD,并且不會立即執行,需要有行動類算子觸發才能執行。行動類算子是立即執行的,并且執行后得到的不再是RDD。

        這次,我們用命令行的方式先來看看這些算子如何使用。

        首先,我們進入spark-shell命令行方式:

        [root@node2 ~]# spark-shell --master spark://node1:7077

        執行上面命令后,就進入了命令行方式:

        此時,我們就可以測試使用Spark中的算子了。

        有一點我們要注意的 ,這些算子都是作用在RDD上,所以我們首先要得到RDD。

        map算子

        map算子實現的是一一映射。

        對某一個rdd執行map,rdd中每一條數據都會執行操作。也就是說rdd中有幾條數據,就會被迭代幾次。

        執行map算子后返回值的數據類型,取決于給map傳遞的函數的返回值類型。

        scala> val rdd=sc.makeRDD(List(1,2,3,4,5,6,7),3)

        rdd: org.apache.spark.rdd.RDD[Int] = ParallelCollectionRDD[3] at makeRDD at :24

        首先,我們通過makeRDD,將一個list轉換成RDD,并且指定分區數為3。

        scala> val rdd1=rdd.map(_>5)

        rdd1: org.apache.spark.rdd.RDD[Boolean] = MapPartitionsRDD[4] at map at :26

        執行map算子,傳遞的函數是判斷元素是否大于5,結果得到一個新的的RDD,并且元素類型是Boolean類型。由此我們也可以看到,結果RDD的元素類型就是由傳入map算子的函數決定的。

        此時,實際上還沒有真正執行,我們需要使用一個Action算子觸發執行。

        scala> rdd1.collect

        [Stage 0:===================> res0: Array[Boolean] = Array(false, false, false, false, false, true, true)

        我們使用collect算子觸發執行,得到結果。Collect算子是Action類算子,是將結果回收到客戶端。在生產環境中,要慎用此算子。我們測試中因為數據量非常小,用此算子是沒有問題的。

        文章“【大數據基礎知識】Spark算子介紹及map算子的使用”已幫助

        >>本文地址:http://www.hxuphoto.com/zhuanye/2021/69184.html

        THE END  

        聲明:本站稿件版權均屬中公教育優就業所有,未經許可不得擅自轉載。

        領取零基礎自學IT資源

        (內含學習路線+視頻教程+項目源碼)

        涉及Java、Web前端、UI設計、軟件測試、Python等多個IT熱門方向

        打開微信掃一掃即可領取哦~

        1 您的年齡

        2 您的學歷

        3 您更想做哪個方向的工作?

        獲取測試結果
        • 大前端大前端
        • 大數據大數據
        • 互聯網營銷互聯網營銷
        • JavaJava
        • Linux云計算Linux
        • Python+人工智能Python
        • 嵌入式物聯網嵌入式
        • 全域電商運營全域電商運營
        • 軟件測試軟件測試
        • 室內設計室內設計
        • 平面設計平面設計
        • 電商設計電商設計
        • 網頁設計網頁設計
        • 全鏈路UI/UE設計UI設計
        • VR/AR游戲開發VR/AR
        • 網絡安全網絡安全
        • 新媒體與短視頻運營新媒體
        • 直播帶貨直播帶貨
        • 智能機器人軟件開發智能機器人
         

        快速通道fast track

        近期開班時間TIME

        无码高潮爽到爆的喷水视频

          <dfn id="hx3xz"><listing id="hx3xz"><menuitem id="hx3xz"></menuitem></listing></dfn>

            <form id="hx3xz"><form id="hx3xz"><th id="hx3xz"></th></form></form><form id="hx3xz"></form>