E-MapReduce 中,使用者申請叢集的時候,預設為使用者提供了 Hive 環境,使用者可以直接使用 Hive 來建立和操作自己的表和資料。

操作步驟

  1. 使用者需要提前準備好 Hive SQL 的指令碼,例如:
    USE DEFAULT;
     DROP TABLE uservisits;
     CREATE EXTERNAL TABLE IF NOT EXISTS uservisits  (sourceIP STRING,destURL STRING,visitDate STRING,adRevenue DOUBLE,user
     Agent STRING,countryCode STRING,languageCode STRING,searchWord STRING,duration INT ) ROW FORMAT DELIMITED FIELDS TERMI
     NATED BY ',' STORED AS SEQUENCEFILE LOCATION '/HiBench/Aggregation/Input/uservisits';
     DROP TABLE uservisits_aggre;
     CREATE EXTERNAL TABLE IF NOT EXISTS uservisits_aggre ( sourceIP STRING, sumAdRevenue DOUBLE) STORED AS SEQUENCEFILE LO
     CATION '/HiBench/Aggregation/Output/uservisits_aggre';
     INSERT OVERWRITE TABLE uservisits_aggre SELECT sourceIP, SUM(adRevenue) FROM uservisits GROUP BY sourceIP;
  2. 將該指令碼儲存到一個指令檔中,例如叫 uservisits_aggre_hdfs.hive,然後將該指令碼上傳到 OSS 的某個目錄中(例如:oss://path/to/uservisits_aggre_hdfs.hive)。
  3. 登入阿里雲 E-MapReduce 控制台作業列表
  4. 單擊該頁右上方的建立作業,進入建立作業頁面。
  5. 填寫作業名稱。
  6. 選擇 Hive 作業類型,表示建立的作業是一個 Hive 作業。這種類型的作業,其後台實際上是通過以下的方式提交。
    hive [user provided parameters]
  7. 應用參數選項框中填入 Hive 命令後續的參數。例如,如果需要使用剛剛上傳到 OSS 的 Hive 指令碼,則填寫的內容如下:
    -f ossref://path/to/uservisits_aggre_hdfs.hive

    您也可以單擊選擇 OSS 路徑,從 OSS 中進行瀏覽和選擇,系統會自動補齊 OSS 上 Hive 指令碼的絕對路徑。請務必將 Hive 指令碼的首碼修改為 ossref(單擊切換資源類型),以保證 E-MapReduce 可以正確下載該檔案。

  8. 選擇執行失敗後策略。
  9. 單擊確定,Hive 作業即定義完成。