原创 programming in Scala 學習(三)

(22-33) 1. 定義具有unapply或unapplySeq名稱的方法的對象,被稱爲抽取器,前者對應固定個數的入參,後者對應變參。抽取器的目的是爲了匹配並分解值,它與樣本類不同,不用暴露數據的具體表達方式(抽取器的表徵獨立,rep

原创 programming in Scala 學習(一)

1. Scala面向對象與函數編程(函數是一級的first class;函數輸入輸出映射,數據immutable不可修改)結合,兼容、簡潔、高級抽象、靜態類型(類型推斷使Scala具有動態語言的賦值形式,但Scala變量保存、賦值,編譯特

原创 programming in Scala 學習(二)

(9-21章) 1. java通過private可以使類內部方法私有化,對外不可見。Scala除了private方式,還可以使用本地函數(內嵌在函數中的函數)實現,本地函數僅在包含它的函數代碼塊中可見,外部無法訪問。在作用域方面,本地函

原创 Scala2.11.8 + Sbt + Maven + IntelliJ Idea + Spark2.0開發環境搭建備忘

已有hadoop yarn 和 spark 集羣部署、運行在分佈式環境中,程序開發編碼在PC上,由於逐漸增多scala編寫spark2.0程序,入鄉隨俗使用sbt和IntelliJ Idea,順便對PC上的Scala + sbt + ma

原创 Spark wordcount - Python, Scala, Java

基於Spark實現的Python, Scala, Java三個版本的、經典的分佈式單詞計數代碼。 1. Scala val input = sc.textFile("hdfs://...") val words = input.flat

原创 數值RDD的操作算子

Spark 對包含數值數據的RDD 提供了一些描述性的統計操作。Spark 的數值操作是通過流式算法實現的,允許以每次一個元素的方式構建出模型。這些統計數據都會在調用stats() 時通過一次遍歷數據計算出來,並以StatsCounter

原创 常見的RDD轉化和行動操作算子

1.轉化操作 2.行動操作

原创 machine learning with spark (1)

1.廣播變量(broadcast variable)爲只讀變量,它由運行SparkContext的驅動程序driver創建後發送給會參與計算的節點。對那些需要讓各工作節點高效地訪問相同數據的應用場景,比如機器學習,這非常有用。 2.co

原创 Learning Spark: lightning-fast big data analysis (2)

1. driver進程始終對應用中所有的executor進程有完整的記錄。每個executor進程代表一個能夠處理任務和存儲RDD 數據的進程。 2.Spark driver程序會根據當前的executor節點集合,嘗試把所有任務基

原创 Learning Spark: lightning-fast big data analysis (1)

1. Spark中的RDD 就是一個不可變的分佈式對象集合。每個RDD 都被分爲多個分區,這些分區運行在集羣中的不同節點上。RDD是Spark中的抽象數據結構類型,任何數據在Spark中都被表示爲RDD。從編程的角度來看,RDD可以簡單看