欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Sparksubmit依賴包管理!

Spark submit依賴包管理!

創(chuàng)新互聯(lián)公司是一家從事企業(yè)網(wǎng)站建設(shè)、做網(wǎng)站、成都做網(wǎng)站、行業(yè)門戶網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)制作的專業(yè)網(wǎng)站設(shè)計(jì)公司,擁有經(jīng)驗(yàn)豐富的網(wǎng)站建設(shè)工程師和網(wǎng)頁設(shè)計(jì)人員,具備各種規(guī)模與類型網(wǎng)站建設(shè)的實(shí)力,在網(wǎng)站建設(shè)領(lǐng)域樹立了自己獨(dú)特的設(shè)計(jì)風(fēng)格。自公司成立以來曾獨(dú)立設(shè)計(jì)制作的站點(diǎn)上1000+。

使用spark-submit時(shí),應(yīng)用程序的jar包以及通過—jars選項(xiàng)包含的任意jar文件都會(huì)被自動(dòng)傳到集群中。

spark-submit --class   --master  --jars 

Spark使用了下面的URL格式允許不同的jar包分發(fā)策略。

1、文件file方式:

絕對(duì)路徑且file:/URIs是作為driver的HTTP文件服務(wù)器,且每個(gè)executor會(huì)從driver的HTTP服務(wù)器拉取文件;

2、hdfs方式:

http:,https:,ftp:,從這些給定的URI中拉取文件和JAR包;

3、本地local方式:

以local:/開始的URI應(yīng)該是每個(gè)worker節(jié)點(diǎn)的本地文件,這意味著沒有網(wǎng)絡(luò)IO開銷,并且推送或通過NFS/GlusterFS等共享到每個(gè)worker大文件/JAR文件或能很好的工作。

注意每個(gè)SparkContext的JAR包和文件都會(huì)被復(fù)制到executor節(jié)點(diǎn)的工作目錄下,這將用掉大量的空間,然后還需要清理干凈。

在YARN下,清理是自動(dòng)進(jìn)行的。在Spark Standalone下,自動(dòng)清理可以通過配置spark.worker.cleanup.appDataTtl屬性做到,此配置屬性的默認(rèn)值是7*24*3600。

用戶可以用--packages選項(xiàng)提供一個(gè)以逗號(hào)分隔的maven清單來包含任意其他依賴。

其它的庫(或SBT中的resolvers)可以用--repositories選項(xiàng)添加(同樣用逗號(hào)分隔),這些命令都可以用在pyspark,spark-shell和spark-submit中來包含一些Spark包。

對(duì)Python而言,--py-files選項(xiàng)可以用來向executors分發(fā).egg,.zip和.py庫。


源碼走讀:


1、

object SparkSubmit

2、

appArgs.{
  SparkSubmitAction.=> (appArgs)
  SparkSubmitAction.=> (appArgs)
  SparkSubmitAction.=> (appArgs)
}

3、

(argsSparkSubmitArguments): = {
  (childArgschildClasspathsysPropschildMainClass) = (args)

  (): = {
    (args.!= ) {
      proxyUser = UserGroupInformation.createProxyUser(args.UserGroupInformation.getCurrentUser())
      {
        proxyUser.doAs(PrivilegedExceptionAction[]() {
          (): = {
            (childArgschildClasspathsysPropschildMainClassargs.)
          }
        })

4、

(jar <- childClasspath) {
  (jarloader)
}

5、

(localJar: loader: MutableURLClassLoader) {
  uri = Utils.(localJar)
  uri.getScheme {
    | =>
      file = File(uri.getPath)
      (file.exists()) {
        loader.addURL(file.toURI.toURL)
      } {
        (file)
      }
    _ =>
      (uri)
  }
}

之后線索就斷了,回歸到j(luò)ava的class類調(diào)用jar包。

6、誰調(diào)用,executor。

(newFiles: HashMap[]newJars: HashMap[]) {
  hadoopConf = SparkHadoopUtil..newConfiguration()
  synchronized {
    ((nametimestamp) <- newFiles .getOrElse(name-) < timestamp) {
      logInfo(+ name + + timestamp)
      Utils.(nameFile(SparkFiles.())env.securityManagerhadoopConftimestampuseCache = !isLocal)
      (name) = timestamp
    }
    ((nametimestamp) <- newJars) {
      localName = name.split().last
      currentTimeStamp = .get(name)
        .orElse(.get(localName))
        .getOrElse(-)
      (currentTimeStamp < timestamp) {
        logInfo(+ name + + timestamp)
        Utils.(nameFile(SparkFiles.())env.securityManagerhadoopConftimestampuseCache = !isLocal)
        (name) = timestamp
        url = File(SparkFiles.()localName).toURI.toURL
        (!.getURLs().contains(url)) {
          logInfo(+ url + )
          .addURL(url)
        }
      }
    }
  }
}

Utils.fetchFile方法,進(jìn)入

 /*** Download a file or directory to target directory. Supports fetching the file in a variety of* ways, including HTTP, Hadoop-compatible filesystems, and files on a standard filesystem, based* on the URL parameter. Fetching directories is only supported from Hadoop-compatible* filesystems.** If`useCache`is true, first attempts to fetch the file to a local cache that's shared* across executors running the same application.`useCache`is used mainly for* the executors, and not in local mode.** Throws SparkException if the target file already exists and has different contents than* the requested file.*/
(!cachedFile.exists()) {
  (urllocalDircachedFileNameconfsecurityMgrhadoopConf)
}

可見,支持本地files,Hadoop的hdfs,還有http格式的文件。

其中目錄目前支持hdfs!

完畢!

文章標(biāo)題:Sparksubmit依賴包管理!
轉(zhuǎn)載源于:http://aaarwkj.com/article16/pegedg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、網(wǎng)站改版、定制網(wǎng)站、Google、網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)
av在线视频男人的天堂| 亚洲一区二区精品自拍| 国产三级在线观看91| 四虎成人免费永久视频| 未满十八禁止观看免费| 免费的一区二区中文字幕| 激情五月,开心五月深情五月 | 日韩av一区三区在线| 日本av在线中文一区二区| 射精视频在线观看免费| 91欧美精品一区二区| 午在线亚洲男人午在线| 91日本视频在线播放| 日韩国产精品一区二区| 欧美午夜福利在线视频| 蜜臀久久精品国产综合| 岛国av不卡一二三区| 日本一区二区不卡视频在线播放 | 中文字幕久久av一区二区| 日韩激情一区二区三区| 免费欧美一级黄片播放| 成人黄色动漫在线播放| 国产剧情av在线资源| 国产av日韩精品一区二区三区| 麻豆av永久地址久久精品| 午夜免费成人在线视频| av中文字幕熟妇人妻少妇| 欧美大尺度影片在线观看| 91青青草原在线视频| 偷拍色图一区二区二区| 中文字幕人妻熟人妻熟丝| 国产精品一二三在线看| 久久免费看少妇高潮av| 一区二区在线视频免费播放| 蜜桃福利视频一区二区| 国产综合永久精品日韩鬼片| 日本区一区二区三视频| 未满十八禁止免费视频| 亚洲欧洲日韩综合另类| 国产一区二区欧美久久| av影片天堂在线观看|