2016-03-28 119 views
0

有沒有辦法強制Amazon EMR使用Spark 1.0.1?目前的可選版本停在1.4.1。AWS EMR Spark 1.0

我在MLlib中使用交替最小二乘實現,自v1.1以來,他們實現了加權正則化和特定原因(研究研究)我不希望這個實現,而是我試圖訪問非加權正規化版本,他們已經在v1.0中實現。

我使用Zepplin筆記本電腦與Scala,如果有幫助。

回答

1

正在與Zeppelin合作嗎?因爲如果是這樣,可能會非常困難。 Zeppelin是針對特定版本的Spark編譯的,因此降級該jar很可能會失敗。否則,如果您確定沒有使用Zeppelin而是使用EMR Step API,那麼您可以通過安裝spark-assembly 1.0.1的引導操作啓動EMR羣集。我說可能工作,因爲不能保證當前的EMR版本與2年前版本的Spark兼容。

創建集羣:

要使用EMR步驟API運行火花:

  • 上傳編譯罐子到S3,然後提交一個步驟針對集羣
  • 集羣ID:羣集(例如J-XXXXXXXX)
  • 地區集羣的ID。您創建EMR羣集的位置。 Ex us-west-2
  • 您的spark主類:這是您放置ml管線代碼的地方。
  • 你的罐子:你上傳你的代碼到S3罐子讓你的集羣可以下載
  • ARG1,ARG2:參數到主(可選)

AWS EMR添加步驟--cluster-id --steps \ Name = SparkPi,Jar = s3://.elasticmapreduce/libs/script-runner/script-runner.jar,Args= [/ home/hadoop/spark/bin/spark-submit - 部署模式,產業集羣, - 主,紗, - 類,com.your.spark.class.MainApp,S3://> /你的。罐子,ARG1,ARG2],ActionOnFailure =繼續

(從官方的github回購攝於https://github.com/awslabs/emr-bootstrap-actions/blob/master/spark/examples/spark-submit-via-step.md

而且如果失敗,安裝Hadoop和退房https://spark.apache.org/docs/1.0.1/running-on-yarn.html

或者你也可以運行如果您的數據很小,請在本地筆記本電腦上安裝1.0.1。

祝你好運。

+0

非常感謝!我可以傳遞使用Zepplin,如果它意味着我可以使用1.0.1我將使用Spark Shell。 – Benirving92

0

Amazon EMR通過選擇下拉菜單提供您可以安裝的軟件包的受支持版本的列表。沒有什麼能阻止你用bootstrap action安裝額外的定製軟件。當EMR支持Java 7時,我有一些安裝java 8的經驗。這有點痛苦,但完全有可能。