簡體   English   中英

用於EMR Spark集群中的downloadind jar依賴項的引導腳本

[英]bootstrap script for downloadind jar dependencies in EMR spark cluster

我想做一些非常簡單的事情(我相信),我在EMR Spark中運行了自定義jar。 現在我做類似的事情

sbt assembly

並創建了一個胖子(80MB-120MB),這很難在S3中上傳。

我想要的是使用

sbt pack

要將所有jar放在一個文件夾中,請在S3中上傳一次,然后,每次我要上傳一個新jar時,都將上傳已編譯的文件,而無需依賴。

我相信,使用bootstrap.sh可能會發生,它將所有jar都復制到群集中,然后使用--jars參數。

有人做過嗎?

在build.sbt中添加依賴項,例如spark-core,spark-sql

"org.apache.spark" %% "spark-core" % "1.5.1" % "provided",
"org.apache.spark" %% "spark-sql" % "1.5.1" % "provided",

並且您還可以添加其他依賴項,如在編譯時和構建裝配jar時所提供的。 然后,就像您在提交火花期間提到的那樣,您可以添加依賴項,例如,

--jars a.jar,b.jar

這是一個示例:首先,創建bootstrap.sg腳本。

    sudo wget http://dl.bintray.com/spark-packages/maven/graphframes/graphframes/0.6.0-spark2.3-s_2.11/graphframes-0.6.0-spark2.3-s_2.11.jar -P /usr/lib/spark/jars/
    sudo wget http://central.maven.org/maven2/com/typesafe/scala-logging/scala-logging-api_2.11/2.1.2/scala-logging-api_2.11-2.1.2.jar -P /usr/lib/spark/jars/
    sudo wget http://central.maven.org/maven2/com/typesafe/scala-logging/scala-logging-slf4j_2.11/2.1.1/scala-logging-slf4j_2.11-2.1.1.jar -P /usr/lib/spark/jars/
    sudo wget https://dl.bintray.com/spark-packages/maven/neo4j-contrib/neo4j-spark-connector/2.2.1-M5/neo4j-spark-connector-2.2.1-M5.jar -P /usr/lib/spark/jars/

將bootstrap.sh上傳到S3,比如說'your_bucket'
最后,在您的EMR創建腳本中添加以下行:

--bootstrap-actions Path="s3://your_bucket/bootstrap.sh"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM