原创 Druid在Hadoopindex的時候異常
Caused by: com.google.inject.CreationException: Unable to create injector, see the following errors: 1) An exception
原创 druid.io在安裝過程出現元數據庫異常問題
在我們啓動coordinator的時候用來刷新元數據庫,但是發現出現表刷入失敗,可以在日誌裏查看到字符編碼問題 可以使用mysql的修改字符編碼,這個地方和官網的字符編碼有點不一樣 ALTER DATABASE druid DEFAU
原创 SparkContext原理解析和源碼解析
SparkContext主要介紹下面幾個點 TaskScheduler DAGScheduler SparkUI 環境是spark1.6.3 TaskScheduler初始化機制 createTaskScheduler() ->
原创 Spark內核架構解析
本文主要介紹了spark運行的大概流程。已經每個組件大概做了什麼工作 1、Spark-submit提交的時候有多種方式,其實會通過反射的方式,創建和構造一個DriverActor進程出來 2、在構造SparkContext的時候,構
原创 Spark中topN和groupTopn講解
說謊和沉默可以說是現在人類社會裏日漸蔓延的兩大罪惡。事實上,我們經常說謊,動不動就沉默不語。 ——村上春樹 本文主要介紹了Spark中去topN的操作和分組取topN的操作 topN的實現思路: 1、首先我們需要採用PairRDD的方
原创 Spark二次排序的操作
二次排序原理 二次排序就是首先按照第一字段排序,然後再對第一字段相同的行按照第二字段排序,注意不能破壞第一次排序的結果 例如輸入這樣的文件, xlucas1 18 aa xlucas2 18 bb xlucas 19 cc aa 20
原创 Spark排序--交換排序
之前我們寫過簡答的worldcount統計的代碼,但是我們如何做到按照value來排序呢?? 僞代碼如下 // 執行我們之前做過的單詞計數 JavaRDD<String> lines=line.flatMap(
原创 Spark共享變量
Spark一個非常重要的特性就是共享變量。默認情況下,如果在一個算子的函數中使用到了某個外部的變量,那麼這個變量的值會被拷貝到每個task中。此時每個task只能操作自己的那份變量副本。如果多個task想要共享某個變量
原创 RDD持久化原理
Spark非常重要的一個功能特性就是可以將RDD持久化在內存中。當對RDD執行持久化操作時,每個節點都會將自己操作的RDD的partition持久化到內存中,並且在之後對該RDD的反覆使用中,直接使用內存緩存的pa
原创 Spark中Action的講解
主要講解一下 reduce,collect,count,take,saveAsTextFile,countByKey reduce講解 // 使用reduce操作對集合中的數字進行累加 // reduce操作
原创 Spark中Transformation的講解
主要講解一下 map,filter,flatMap,groupByKey,reduceByKey,sortByKey,join,cogroup map講解 List<Integer> list= Arrays.asList(1,2,3
原创 創建RDD創建方式
RDD的創建方式 1、集合創建RDD 2、使用本地文件創建RDD 3、使用HDFS文件創建RDD 集合創建RDD 1、如果要通過並行化集合來創建RDD,需要針對程序中的集合,調用SparkContext的parallelize()方法
原创 Spark本地worldcount詳細講解(Scala版本)以及流程
主要介紹Scala來寫spark代碼的流程 package com.xlucas import org.apache.spark.SparkConf import org.apache.spark.Spark
原创 Spark本地worldcount詳細講解(Java版本)
package com.xlucas; import org.apache.spark.SparkConf; import org.apache.spark.api.java.JavaPairRDD; import org.apac