操作步驟

  1. 進入阿里雲 E-MapReduce 控制台作業列表
  2. 單擊該頁右上方的建立作業,進入建立作業頁面。
  3. 填寫作業名稱。
  4. 選擇 Spark 作業類型,表示建立的作業是一個 Spark 作業。Spark 作業在 E-MapReduce 後台使用以下的方式提交:
    spark-submit [options] --class [MainClass] xxx.jar args
  5. 應用參數選項框中填寫提交該 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 工具包。
  6. 選擇執行失敗後策略。
  7. 單擊確定,Spark 作業即定義完成。