<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ### RDD 操作 RDDs 支持 2 種類型的操作: * 轉換(transformations)_ 從已經存在的數據集中創建一個新的數據集;Transformation屬于延遲計算,當一個RDD轉換成另一個RDD時并沒有立即進行轉換,僅僅是記住了數據集的邏輯操作。 * 動作(actions)_ 在數據集上進行計算之后返回一個值到驅動程序。觸發Spark作業的運行,真正觸發轉換算子的計算。 在 Spark 中,**所有的轉換(transformations)都是惰性(lazy)的**,它們不會馬上計算它們的結果。相反的,它們僅僅記錄轉換操作是應用到哪些基礎數據集(例如一個文件)上的。轉換僅僅在這個時候計算:當動作(action) 需要一個結果返回給驅動程序的時候。這個設計能夠讓 Spark 運行得更加高效。 默認情況下,每一個轉換過的 RDD 會在每次執行動作(action)的時候重新計算一次。然而,你也可以使用 `persist` (或 `cache`)方法持久化(`persist`)一個 RDD 到內存中。在這個情況下,Spark 會在集群上保存相關的元素,在你下次查詢的時候會變得更快。在這里也同樣支持持久化 RDD 到磁盤,或在多個節點間復制。 ### 用一個程序理解上面的內容 為了說明 RDD 基本知識,考慮下面的簡單程序: ```scala val lines = sc.textFile("data.txt") val lineLengths = lines.map(s => s.length) val totalLength = lineLengths.reduce((a, b) => a + b) ``` * 第一行是定義來自于外部文件的 RDD。這個數據集并沒有加載到內存或做其他的操作:`lines` 僅僅是一個指向文件的指針。 * 第二行是定義 `lineLengths`,它是 `map` 轉換(transformation)的結果。同樣,`lineLengths` 由于懶惰模式也_沒有_立即計算。 * 最后,我們執行 `reduce`,它是一個動作(action)。在這個地方,Spark 把計算分成多個任務(task),并且讓它們運行在多個機器上。每臺機器都運行自己的 map 部分和本地 reduce 部分。然后僅僅將結果返回給驅動程序。 如果我們想要再次使用 `lineLengths`,我們可以添加: ```scala lineLengths.persist() ``` 在 `reduce` 之前,它會導致 `lineLengths` 在第一次計算完成之后保存到內存中。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看