原创 Spark算子[13]:sortByKey、sortBy、二次排序 源碼實例詳解

sortBy是對標準的RDD進行排序。[在scala語言中,RDD與PairRDD沒有太嚴格的界限]。 sortByKey函數是對PairRDD進行排序,也就是有Key和Value的RDD。 sortBy 源碼 /**

原创 Spark算子[07]:reduce,reduceByKey,count,countByKey

算子 reduce,reduceByKey,count,countByKey 可分爲兩類: action操作:reduce,count,countByKey transformation操作:reduceByKey 1、red

原创 Spark算子[08]:combineByKey詳解

combineByKey 聚合數據一般在集中式數據比較方便,如果涉及到分佈式的數據集,該如何去實現呢。這裏介紹一下combineByKey, 這個是各種聚集操作的鼻祖,應該要好好了解一下,可以參考Spark API。 更好的,可

原创 Spark spark-submit 參數

參數翻譯 參 數 名 __________________ 格式 參數說明 –master MASTER_URL spark://host:port, mesos://host:port, yarn, or

原创 星型模型和雪花型模型比較

一、概述 在多維分析的商業智能解決方案中,根據事實表和維度表的關係,又可將常見的模型分爲星型模型和雪花型模型。在設計邏輯型數據的模型的時候,就應考慮數據是按照星型模型還是雪花型模型進行組織。 當所有維表都直接連接到“ 事實表”上時

原创 Spark算子[19]:saveAsHadoopFile、saveAsNewAPIHadoopFile 源碼實例詳解

saveAsHadoopFile、saveAsNewAPIHadoopFile兩個算子來源於PairRDDFunctions。 saveAsHadoopFile saveAsHadoopFile是將RDD存儲在HDFS上的文件中

原创 shell日期處理:給定日期推周幾日期、求上週周幾日期

說明:根據給定時間,求出本週週一日期(周幾可改變減去的值): DATE="20171219" i=$((`date -d $DATE +"%w"`-1)) date -d "$DATE -$i days" +"%Y%m%d" 說

原创 Spark算子[15]:sample、takeSample 源碼實例詳解

sample 返回一個RDD[T] 源碼: /** * 返回此RDD的抽樣子集。 * @note 這並不能保證提供的只是給定[[RDD]]的分數。 */ def sample( withReplacement: Bo

原创 Spark算子[09]:aggregateByKey、aggregate詳解

aggregateByKey aggregateByKey的用法同combineByKey,針對combineByKey的三個參數: createCombiner: V => C,mergeValue: (C, V) => C,

原创 Spark算子[17]:zip、zipPartitions、zipWithIndex、zipWithUniqueId 實例詳解

zip def zip[U](other: RDD[U])(implicit arg0: ClassTag[U]): RDD[(T, U)] zip函數用於將兩個RDD組合成Key/Value形式的RDD,這裏默認兩個RDD的

原创 Spark算子[18]:saveAsTextFile、saveAsObjectFile 源碼實例詳解

1、saveAsTextFile 將此RDD保存爲一個壓縮文本文件,使用元素的字符串表示形式。 第一個參數:Path爲保存的路徑; 第二個參數:codec爲壓縮編碼格式; 從源碼中可以看到,saveAsTextFile函數是依賴

原创 Spark算子[06]:union,distinct,cartesian,intersection,subtract

輸入: #scala val rdd1 = sc.parallelize(List(“a”,”b”,”b”,”c”)) val rdd2 = sc.parallelize(List(“c”,”d”,”e”)) ————

原创 Spark算子[14]:top、takeOrdered 源碼實例詳解

takeOrdered 源碼 /** * 從指定的RDD中返回前k個(最小)元素的集合,底層排序,和top相反。 * * @note 該方法僅在預期的數組很小的情況下使用,因爲所有的數據都被加載到驅動程序的內存中。 */

原创 Spark算子[12]:groupByKey、cogroup、join、lookup 源碼實例詳解

groupByKey 源碼 /** * 將RDD的每個key的values分組爲一個單獨的序列,並且每個組內的元素的排序不定 * * @note groupByKey很消耗資源,如果要對每個Key的values進行聚合(比如

原创 Spark算子[16]:subtractByKey、join、rightOuterJoin、leftOuterJoin 實例詳解

subtractByKey def subtractByKey[W](other: RDD[(K, W)])(implicit arg0: ClassTag[W]): RDD[(K, V)] def subtractByKey[