操作步驟
- 進入阿里雲 E-MapReduce 控制台作業列表。
- 單擊該頁右上方的建立作業,進入建立作業頁面。
- 填寫作業名稱。
- 選擇 Spark 作業類型,表示建立的作業是一個 Spark 作業。Spark 作業在 E-MapReduce 後台使用以下的方式提交:
spark-submit [options] --class [MainClass] xxx.jar args
- 在應用參數選項框中填寫提交該 Spark 作業需要的命令列參數。請注意,應用參數框中只需要填寫spark-submit之後的參數即可。以下分別樣本如何填寫建立 Spark 作業和 pyspark 作業的參數。
- 建立 Spark 作業
建立一個 Spark WordCount 作業。
- 作業名稱: Wordcount
- 類型:選擇 Spark
- 應用參數:
- 在命令列下完整的提交命令是:
spark-submit --master yarn-client --driver-memory 7G --executor-memory 5G --executor-cores 1 --num-executors 32 --class com.aliyun.emr.checklist.benchmark.SparkWordCount emr-checklist_2.10-0.1.0.jar oss://emr/checklist/data/wc oss://emr/checklist/data/wc-counts 32
- 在 E-MapReduce 作業的應用參數框中只需要填寫:
--master yarn-client --driver-memory 7G --executor-memory 5G --executor-cores 1 --num-executors 32 --class com.aliyun.emr.checklist.benchmark.SparkWordCount ossref://emr/checklist/jars/emr-checklist_2.10-0.1.0.jar oss://emr/checklist/data/wc oss://emr/checklist/data/wc-counts 32
注意 作業 Jar 包儲存在 OSS 中,引用這個 Jar 包的方式是 ossref://emr/checklist/jars/emr-checklist_2.10-0.1.0.jar。您可以單擊 選擇 OSS 路徑,從 OSS 中進行瀏覽和選擇,系統會自動補齊 OSS 上 Spark 指令碼的絕對路徑。請務必將預設的 oss 協議切換成 ossref 協議。 - 在命令列下完整的提交命令是:
- 建立 pyspark 作業
E-MapReduce 除了支援 Scala 或者 Java 類型作業外,還支援 python 類型 Spark 作業。以下建立一個 python 指令碼的 Spark Kmeans 作業。
- 作業名稱:Python-Kmeans
- 類型:Spark
- 應用參數:
--master yarn-client --driver-memory 7g --num-executors 10 --executor-memory 5g --executor-cores 1 ossref://emr/checklist/python/kmeans.py oss://emr/checklist/data/kddb 5 32
- 支援 Python 指令碼資源的引用,同樣使用 ossref 協議。
- pyspark 目前不支援線上安裝 Python 工具包。
- 建立 Spark 作業
- 選擇執行失敗後策略。
- 單擊確定,Spark 作業即定義完成。