溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

記載我的spark源碼閱讀火花

發(fā)布時間:2020-07-29 06:22:15 來源:網(wǎng)絡(luò) 閱讀:353 作者:moviebat 欄目:大數(shù)據(jù)

記載我的spark源碼閱讀火花


知識點:

1、seq:列表,適合存有序重復(fù)數(shù)據(jù),進行快速插入/刪除元素等場景,

Set是集合,適合存無序非重復(fù)數(shù)據(jù),進行快速查找海量元素等場景

memoryKeys = Seq(
  )



2、private 聲明變量為私有

private val hadoopConf = SparkHadoopUtil.get.newConfiguration(conf)

private[this] val value


private[spark],聲明變量為私有,并且在包spark是可見的,這里的[spark],是一種保護的作用域。

這是Master的類聲明,同樣在master域里

private[master] class Master(


3、沒有括號的函數(shù)

下面是個函數(shù)調(diào)用

hellotheworld     //無參數(shù)不括號


4、可變參數(shù)的函數(shù)

(s:*)={
  s.foreach(x=>(x))
}

5、函數(shù)的奇葩定義:

(x:y:):=x+y          =(x:y:)=>x+y       (x:)(y:):=x+y        anonymous=(x:y:)=>x+y

6、import:可以在任何地方出現(xiàn),作用范圍是直到包含該語句的塊末尾,好處是避免產(chǎn)生名稱沖突。

SparkConf(loadDefaults: Boolean) Cloneable Logging {

  SparkConf._

7、this:函數(shù)的末尾最后一句

setExecutorEnv(variables: Seq[(StringString)]): SparkConf = {
  ((kv) <- variables) {
    setExecutorEnv(kv)
  }
  }

該函數(shù)返回SparkConf類型的值


8、模式匹配之master配置類型

master match{
case "local" =>
case LOCAL_N_REGEX(threads) =>
case LOCAL_N_FAILURES_REGEX(threads, maxFailures) =>
case SPARK_REGEX(sparkUrl) =>
case LOCAL_CLUSTER_REGEX(numSlaves, coresPerSlave, memoryPerSlave) =>
case "yarn-standalone" | "yarn-cluster" =>
case "yarn-client" =>
case SIMR_REGEX(simrUrl) =>
case mesosUrl @ MESOS_REGEX(_) =>

可見有上述幾種配置類型

9、scala的Parallelize實現(xiàn)

第一種RDD生產(chǎn)方式,就是從本地的collection生成,可以看見生成的是ParallelCollectionRDD類型的

parallelize[T: ClassTag](
    seq: Seq[T]numSlices: Int = defaultParallelism): RDD[T] = withScope {
  assertNotStopped()
  ParallelCollectionRDD[T](seqnumSlicesMap[IntSeq[String]]())
}


向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI