原创 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