第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

解決ApacheSPark中的依賴問(wèn)題

解決ApacheSPark中的依賴問(wèn)題

紅糖糍粑 2019-06-03 17:25:28
解決ApacheSPark中的依賴問(wèn)題在構(gòu)建和部署星火應(yīng)用程序時(shí),常見的問(wèn)題是:java.lang.ClassNotFoundException.object x is not a member of package y編譯錯(cuò)誤。java.lang.NoSuchMethodError如何解決這些問(wèn)題?
查看完整描述

4 回答

?
侃侃爾雅

TA貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超16個(gè)贊

在構(gòu)建和部署星火應(yīng)用程序時(shí),所有依賴項(xiàng)都需要兼容版本。

  • Scala版本..所有軟件包都必須使用相同的主要(2.10,2.11,2.12)Scala版本。

    考慮以下(不正確)build.sbt:

    name := "Simple Project"version := "1.0"libraryDependencies ++= Seq(
       "org.apache.spark" % "spark-core_2.11" % "2.0.1",
       "org.apache.spark" % "spark-streaming_2.10" % "2.0.1",
       "org.apache.bahir" % "spark-streaming-twitter_2.11" % "2.0.1")

    我們用spark-streaming對(duì)于Scala2.10,剩下的包用于Scala2.11。一個(gè)有效文件可能是

    name := "Simple Project"version := "1.0"libraryDependencies ++= Seq(
       "org.apache.spark" % "spark-core_2.11" % "2.0.1",
       "org.apache.spark" % "spark-streaming_2.11" % "2.0.1",
       "org.apache.bahir" % "spark-streaming-twitter_2.11" % "2.0.1")

    但是最好是全局指定版本并使用%%:

    name := "Simple Project"version := "1.0"scalaVersion := "2.11.7"libraryDependencies ++= Seq(
       "org.apache.spark" %% "spark-core" % "2.0.1",
       "org.apache.spark" %% "spark-streaming" % "2.0.1",
       "org.apache.bahir" %% "spark-streaming-twitter" % "2.0.1")

    同樣,在Maven中:

    <project>
      <groupId>com.example</groupId>
      <artifactId>simple-project</artifactId>
      <modelVersion>4.0.0</modelVersion>
      <name>Simple Project</name>
      <packaging>jar</packaging>
      <version>1.0</version>
      <properties>
        <spark.version>2.0.1</spark.version>
      </properties> 
      <dependencies>
        <dependency> <!-- Spark dependency -->
          <groupId>org.apache.spark</groupId>
          <artifactId>spark-core_2.11</artifactId>
          <version>${spark.version}</version>
        </dependency>
        <dependency>
          <groupId>org.apache.spark</groupId>
          <artifactId>spark-streaming_2.11</artifactId>
          <version>${spark.version}</version>
        </dependency> 
        <dependency>
          <groupId>org.apache.bahir</groupId>
          <artifactId>spark-streaming-twitter_2.11</artifactId>
          <version>${spark.version}</version>
        </dependency>
      </dependencies></project>
  • 火花版所有軟件包都必須使用相同的主要SPark版本(1.6、2.0、2.1、.)。

    考慮以下(不正確的)構(gòu)建:

    name := "Simple Project"version := "1.0"libraryDependencies ++= Seq(
       "org.apache.spark" % "spark-core_2.11" % "1.6.1",
       "org.apache.spark" % "spark-streaming_2.10" % "2.0.1",
       "org.apache.bahir" % "spark-streaming-twitter_2.11" % "2.0.1")

    我們用spark-core1.6其余組件在Spark2.0中。一個(gè)有效文件可能是

    name := "Simple Project"version := "1.0"libraryDependencies ++= Seq(
       "org.apache.spark" % "spark-core_2.11" % "2.0.1",
       "org.apache.spark" % "spark-streaming_2.10" % "2.0.1",
       "org.apache.bahir" % "spark-streaming-twitter_2.11" % "2.0.1")

    但是最好使用一個(gè)變量:

    name := "Simple Project"version := "1.0"val sparkVersion = "2.0.1"libraryDependencies ++= Seq(
       "org.apache.spark" % "spark-core_2.11" % sparkVersion,
       "org.apache.spark" % "spark-streaming_2.10" % sparkVersion,
       "org.apache.bahir" % "spark-streaming-twitter_2.11" % sparkVersion)

    同樣,在Maven中:

    <project>
      <groupId>com.example</groupId>
      <artifactId>simple-project</artifactId>
      <modelVersion>4.0.0</modelVersion>
      <name>Simple Project</name>
      <packaging>jar</packaging>
      <version>1.0</version>
      <properties>
        <spark.version>2.0.1</spark.version>
        <scala.version>2.11</scala.version>
      </properties> 
      <dependencies>
        <dependency> <!-- Spark dependency -->
          <groupId>org.apache.spark</groupId>
          <artifactId>spark-core_${scala.version}</artifactId>
          <version>${spark.version}</version>
        </dependency>
        <dependency>
          <groupId>org.apache.spark</groupId>
          <artifactId>spark-streaming_${scala.version}</artifactId>
          <version>${spark.version}</version>
        </dependency> 
        <dependency>
          <groupId>org.apache.bahir</groupId>
          <artifactId>spark-streaming-twitter_${scala.version}</artifactId>
          <version>${spark.version}</version>
        </dependency>
      </dependencies></project>
  • 星火依賴項(xiàng)中使用的星火版本必須與星火安裝版本相匹配。例如,如果在集群上使用1.6.1,則必須使用1.6.1來(lái)構(gòu)建JAR。小版本的不匹配并不總是被接受的。

  • 用于構(gòu)建JAR的Scala版本必須與用于構(gòu)建已部署的SPark的Scala版本相匹配。默認(rèn)情況下(可下載的二進(jìn)制文件和默認(rèn)構(gòu)建):

    • 星火1.x->Scala2.10
    • 星火2.x->Scala2.11
  • 如果包含在FAT JAR中,則應(yīng)該可以在工作節(jié)點(diǎn)上訪問(wèn)其他包。有許多選擇,包括:

    在群集節(jié)點(diǎn)中提交時(shí),應(yīng)包括應(yīng)用程序。jar在……里面--jars.

    • --jars

      主張

      spark-submit

      -在當(dāng)?shù)胤职l(fā)

      jar

      檔案。
    • --packages

      主張

      spark-submit

      -從Maven存儲(chǔ)庫(kù)獲取依賴項(xiàng)。


查看完整回答
反對(duì) 回復(fù) 2019-06-03
?
揚(yáng)帆大魚

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超9個(gè)贊

除了user 7337271已經(jīng)給出的非常廣泛的答案之外,如果問(wèn)題是由于缺少外部依賴關(guān)系而導(dǎo)致的,那么您可以使用以下方法構(gòu)建一個(gè)JAR。Maven組裝插件

在這種情況下,請(qǐng)確保將構(gòu)建系統(tǒng)中的所有核心火花依賴項(xiàng)標(biāo)記為“提供”,并確保它們與運(yùn)行時(shí)星火版本相關(guān)聯(lián)。


查看完整回答
反對(duì) 回復(fù) 2019-06-03
?
德瑪西亞99

TA貢獻(xiàn)1770條經(jīng)驗(yàn) 獲得超3個(gè)贊

應(yīng)用程序的依賴類將在應(yīng)用-JAR選擇你的發(fā)射命令。

更多詳細(xì)信息可在火花文檔

摘自文件:

application-jar:綁定JAR的路徑,包括應(yīng)用程序和所有依賴項(xiàng)。URL必須在集群中全局可見,例如,hdfs:/path或所有節(jié)點(diǎn)上存在的文件:/path


查看完整回答
反對(duì) 回復(fù) 2019-06-03
  • 4 回答
  • 0 關(guān)注
  • 2454 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)