原创 Spark Streaming-Receiver啓動和數據接收

養成一個記筆記的習慣!!! 小案例: def fromsocket(ssc: StreamingContext): Unit ={ /**使用updateStateByKey前必須要設置checkpoint*/ ssc.chec

原创 Spark Streaming checkpoint的問題與恢復

/**雖然checkpoint是對Spark Streaming運行過程中的元數據和每次RDD的數據狀態 * 保存到一個持久化系統中,實現高可用性。 * 即使 * /**當程序修改後打包成新程序後,可能會報錯,若刪除c

原创 圖計算Hama-BSP模型的運行流程

Hama-architecture: Apache-hama集羣是以BSP爲框架爲基礎由一個BSPMaster、(多個)互不關聯的GroomServer計算結點、可獨立運行的Zookpeer集羣組成。BSPMaster採用“先進先出”原

原创 spark Executor執行結果的處理源碼

從1.6後,Driver的BlockManagerMaster與BlockManager之間的通信不再使用AkkaUtil而是RpcEndpoint Spark集羣中有很多執行程序執行,需要很多Executor,CoarseGrained

原创 從Application提交角度審視Executor

從Application提交的角度審視Executor,解密Executor到底是什麼時候啓動的以及Executor如何把結果交給Application。 Executor何時啓動 SparkContext啓動後,直接實例化createT

原创 zookeeper的僞分佈式安裝

我要養成記錄的習慣!!! 首先下載(版本zookeeper-3.4.12)-解壓 zookeeper僞分佈式安裝就是在同一臺機器上安裝多個zookeeper(即在同一臺機器上有多個QuorumPeerMain進程)。 我在同一臺機器上安裝

原创 scala-for推導:能夠在for表達式中的最初部分定義值,並在(外面)後面的表達式中使用該值

在scala的for循環中,如何在不適用容器的情況下,在for循環(外面)後面調用其for中定義的屬性。對象中包含None屬性在for中如何剔除??? 兩種情況寫在同一個函數裏面: /**for推導:能夠在for表達式中的最初部分定

原创 scala-for的基本應用

scala-for的應用: 直接上代碼。 def testfor01: Unit ={ val nieces = List("emily", "hananh", "mercedes", "porsche") /*

原创 spark-cache的源碼分析

private def persist(newLevel: StorageLevel, allowOverride: Boolean): this.type = { 。。。。。。 if (storageLevel == Storag

原创 scala的相等性

在scala中一切都是對象!!! java中比較兩個對象/屬性是否相等: /**在java中,== 只會對java對象引用進行比較,對象引用的地址相同(內存中同一個位置)則返回true ; * 而equals是比較兩個字段的值是否相

原创 spark與mysql:Did not find registered driver with class com.mysql.jdbc.Driver

CDH-5.8.3集羣上spark-submit --master yarn。。。提交任務時,當使用mysql-connector-java-5.1.40-bin.jar等jar包時可能會出現以下問題: Did not find regi

原创 Spark性能調優之道——解決Spark數據傾斜(Data Skew)的N種姿勢

看到一篇很不錯的文章,關於解決spark計算過程中數據傾斜的解決方案: 一位大牛的創作,謝謝 http://www.infoq.com/cn/articles/the-road-of-spark-performance-tuning 感謝

原创 空值字段的hive處理

當遇到某個字段的屬性值爲空時,可以使用IF、ISNULL函數進行處理。 hive的IF函數: IF(expr1,expr2,expr3) - If expr1 is TRUE (expr1 <> 0 and expr1 <> NULL)

原创 spark關於數據傾斜問題

spark的數據傾斜調優方案歸納總結: 不來虛的,直接上解決方法。 數據傾斜產生原因:在運算過程中把數據分配給不同的Task,一般需要Shuffle過程,同一個Key都會交給Task處理,但是有時同一個Key的values數據量太多造成數

原创 spark常用 算子小總結

import org.apache.spark.rdd.RDD import org.apache.spark.{HashPartitioner, SparkConf, SparkContext} class RDDSuanzi {