[英]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.