1. 程式人生 > >請別再問我Spark的MLlib和ML庫的區別

請別再問我Spark的MLlib和ML庫的區別

機器學習庫(MLlib)指南

MLlib是Spark的機器學習(ML)庫。其目標是使實際的機器學習可擴充套件和容易。在高層次上,它提供瞭如下工具:

  • ML演算法:通用學習演算法,如分類,迴歸,聚類和協同過濾

  • 特徵提取,特徵提取,轉換,降維和選擇

  • 管道:用於構建,評估和調整ML管道的工具

  • 永續性:儲存和載入演算法,模型和管道

  • 實用程式:線性代數,統計,資料處理等

公告:基於DataFrame的API是主要的API

MLlib基於RDD的API現在處於維護模式。

從Spark 2.0開始,包中的基於RDD的API spark.mllib已進入維護模式。Spark的主要機器學習API現在是包中的基於

DataFrame的API spark.ml

有什麼影響?

  • MLlib將仍然支援基於RDD的API spark.mllib並修復錯誤。

  • MLlib不會將新功能新增到基於RDD的API。

  • 在Spark 2.x版本中,MLlib將向基於DataFrame的API新增功能,以便與基於RDD的API達成功能對等。

  • 達到功能對等(大致估計為Spark 2.2)後,基於RDD的API將被棄用。

  • 基於RDD的API預計將在Spark 3.0中被刪除。

為什麼MLlib切換到基於DataFrame的API?

  • DataFrames提供比RDD更友好的API。DataFrame的許多優點包括Spark資料來源,SQL / DataFrame查詢,Tungsten和Catalyst優化以及跨語言的統一API。

  • MLlib的基於DataFrame的API提供跨ML演算法和跨多種語言的統一API。

  • 資料框便於實際的ML管線,特別是功能轉換。

什麼是“Spark ML”?

  • “Spark ML”不是一個正式的名字,偶爾用於指代基於MLlib DataFrame的API。這主要是由於org.apache.spark.ml基於DataFrame的API所使用Scala包名以及我們最初用來強調管道概念的“Spark ML Pipelines”術語。

MLlib是否被棄用?

  • 編號MLlib包括基於RDD的API和基於DataFrame的API。基於RDD的API現在處於維護模式。

依賴

MLlib使用線性代數包

Breeze,它依賴於 netlib-java進行優化的數值處理。如果本機庫在執行時不可用,您將看到一條警告訊息,而將使用純JVM實現。

由於執行時專有二進位制檔案的授權問題,netlib-java預設情況下,我們不包含本地代理。要配置netlib-java/ Breeze以使用系統優化的二進位制檔案,請包括 com.github.fommil.netlib:all:1.1.2(或者構建Spark -Pnetlib-lgpl)作為專案的依賴項,並閱讀netlib-java文件以獲取平臺的其他安裝說明。

要在Python中使用MLlib,您將需要NumPy 1.4或更高版本。

推薦閱讀:

640.png

關於Spark高階玩法

kafkahbasespark,Flink等入門到深入源碼,spark機器學習,大資料安全,大資料運維,請關注浪尖公眾號,看高質量文章。

640.jpeg

更多文章,敬請期待

相關推薦

Spark的MLlibML區別

機器學習庫(MLlib)指南 MLlib是Spark的機器學習(ML)庫。其目標是使實際的機器學習可擴充套件和容易。在高層次上,它提供瞭如下工具: ML演算法:通用學習演算法,如分類,迴歸,聚類和

阿里Java面試官:3次握手與4次揮手了!

在面試中,三次握手和四次揮手可以說是問的最頻繁的一個知識點了,我相信大家也都看過很多關於三次握手與四次揮手的文章。  

求求你,下次面試什麼是 Spring AOP 代理了!

作者 | 倪升武 責編 | 胡巍巍 我們知道,Spring 中 AOP 是一大核心技術,也是面試中經常會被問到的問題,最近我在網上也看到很多面試題,其中和 Spring AOP 相關的就有不少,這篇文章主要來總結下相關的技術點,希望對大家有用

[轉]求求你,下次面試什麼是 Spring AOP 代理了!

求求你,下次面試別再問我什麼是 Spring AOP 和代理了! 倪升武 CSDN 1周前 作者 | 倪升武 責編 | 胡巍巍 我們知道,Spring 中 AOP 是一大核心技術,也是面試中經常會被問到的問題,最近我在網上也看到很多面

面試官求你了,TCP的三次握手四次揮手

少點程式碼,多點頭髮 本文已經收錄至我的GitHub,歡迎大家踴躍star 和 issues。 https://github.com/midou-tech/articles 三次握手建立連結,四次揮手斷開連結。這個問題算非常經典的問題,也是面試官非常喜歡問的問題。 不誇張的說,龍叔在校招面試的時候每一家公

拜託!面試不要Spring Cloud底層原理

歡迎關注微信公眾號:石杉的架構筆記(id:shishan100) 每週一三五,精品技術文章準時送上! 目錄 一、業務場景介紹 二、Spring Cloud核心元件:Eureka 三、Spring Cloud核心元件:Feign 四、Spring Cloud核心元件:Ribbon 五、Sp

拜託,面試不要TCC分散式事務的實現原理!

往期文章 1、 拜託!面試請不要再問我Spring Cloud底層原理 2、 【雙11狂歡的背後】微服務註冊中心如何承載大型系統的千萬級訪問? 3、 【效能優化之道】每秒上萬併發下的Spring Cloud引數優化實戰 4、 微服務架構如何保障

拜託,面試不要Redis分散式鎖的實現原理!【石杉的架構筆記】

歡迎關注個人公眾號:石杉的架構筆記(ID:shishan100) 週一至五早8點半!精品技術文章準時送上! 目錄 一、寫在前面 二、Redisson實現Redis分散式鎖的底層原理       (1)加鎖機制       (2)鎖互斥機制  

拜託,面試不要Redis分散式鎖的實現原理!

目錄 一、寫在前面 二、Redisson實現Redis分散式鎖的底層原理       (1)加鎖機制       (2)鎖互斥機制       (3)watch dog自動延期機制   &nbs

面試不要Spring Cloud底層原理

概述 毫無疑問,Spring Cloud是目前微服務架構領域的翹楚,無數的書籍部落格都在講解這個技術。不過大多數講解還停留在對Spring Cloud功能使用的層面,其底層的很多原理,很多人可能並不知曉。因此本文將通過大量的手繪圖,給大家談談Spring Cloud微服務架構的底層原理。實際上,Spring

Java架構-拜託,面試不要Redis分散式鎖的實現原理

一、寫在前面 現在面試,一般都會聊聊分散式系統這塊的東西。通常面試官都會從服務框架(Spring Cloud、Dubbo)聊起,一路聊到分散式事務、分散式鎖、ZooKeeper等知識。 所以咱們這篇文章就來聊聊分散式鎖這塊知識,具體的來看看Redis分散式鎖的實現原理。 說實

拜託,面試基數排序了!!!

排序,面試中考察基本功問的比較多,工作多年以後,對排序的細節記憶不那麼清楚的小夥伴,面試時會比較吃虧。 有一種很神奇的排序,基數排序(Radix Sort),時間複雜度為O(n),今天花1分鐘,通過幾幅圖,爭取讓大家搞懂細節。   畫外音:居然還有時間複雜度為O(n)

SpringCloud-拜託!面試不要Spring Cloud底層原理實戰

上一篇我們說到《拜託!面試請不要再問我Spring Cloud底層原理》,我們大概瞭解了Spring Cloud中各個元件的作用以及其背後實現的原理。但是俗話說得好,實踐是檢驗真理的唯一標準。這一篇我們動手實踐一下,即搭建一個包含訂單服務、庫存服務、倉庫服務、積分服務的微服務架構專案。 一、

SpringCloud-拜託!面試不要Spring Cloud底層原理

原文地址:https://mp.weixin.qq.com/s/mOk0KuEWQUiugyRA3-FXwg,原創作者:中華石杉,微信公眾號:石杉的架構筆記。 一、概述 毫無疑問,Spring Cloud是目前微服務架構領域的翹楚,無數的書籍部落格都在講解這個技術。不過大多數講解還停留在對S

不要Python2Python3的Unicode 問題啦!

寫在之前 字元編碼問題幾乎是會跟隨我們整個程式設計生涯的一大魔障,一不小心各種玄學的問題就會接踵而至,防不勝防,尤其是對初學者來說,碰到編碼問題簡直是就是加快了踏上從入門到放棄的傳送帶。 字符集問題 很多時候在使用 Python 程式設計的時候,如果不使用 Unicode,處理中文

拜託,面試JVM了!!!

搞了N年Java,不少朋友困惑:JavaWeb開發不成問題,DAO和MyBatis也用得很熟,但

怎麼實現鍵盤的監聽了,鍵盤監聽程式碼大全

public static final int FLAG_WOKE_HERE = 1; public static final int KEYCODE_0 = 7; public static final int KEYCODE_1 = 8; public static f

拜託!不要Spring Cloud底層原理

目錄 一、業務場景介紹 二、Spring Cloud核心元件:Eureka 三、Spring Cloud核心元件:Feign 四、Spring Cloud核心元件:Ribbon 五、Spring Cloud核心元件:Hystrix 六、Spring Cloud核心

拜托,面試堆(排序)了!

哪些 qrc 很多 適合 每次 一個 查看 怎樣 特殊 何為堆? 堆是一種特殊的樹,只要滿足下面兩個條件,它就是一個堆: (1)堆是一顆完全二叉樹; (2)堆中某個節點的值總是不大於(或不小於)其父節點的值。 其中,我們把根節點最大的堆叫做大頂堆,根節點最小的堆叫做小頂堆。

ConcurrentHashMap了

以下ConcurrentHashMap以jdk8中為例進行分析,ConcurrentHashMap是一個執行緒安全、基於陣列+連結串列(或者紅黑樹)的kv容器,主要特性如下: 執行緒安全,陣列中單個slot元素個數超過8個時會將連結串列結構轉換成紅黑樹,注意樹節點之間還是有next指標的; 當元素個數