E-MapReduce 中,使用者申請叢集的時候,預設為使用者提供了 Hive 環境,使用者可以直接使用 Hive 來建立和操作自己的表和資料。
操作步驟
- 使用者需要提前準備好 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;
- 將該指令碼儲存到一個指令檔中,例如叫 uservisits_aggre_hdfs.hive,然後將該指令碼上傳到 OSS 的某個目錄中(例如:oss://path/to/uservisits_aggre_hdfs.hive)。
- 登入阿里雲 E-MapReduce 控制台作業列表。
- 單擊該頁右上方的建立作業,進入建立作業頁面。
- 填寫作業名稱。
- 選擇 Hive 作業類型,表示建立的作業是一個 Hive 作業。這種類型的作業,其後台實際上是通過以下的方式提交。
hive [user provided parameters]
- 在應用參數選項框中填入 Hive 命令後續的參數。例如,如果需要使用剛剛上傳到 OSS 的 Hive 指令碼,則填寫的內容如下:
-f ossref://path/to/uservisits_aggre_hdfs.hive
您也可以單擊選擇 OSS 路徑,從 OSS 中進行瀏覽和選擇,系統會自動補齊 OSS 上 Hive 指令碼的絕對路徑。請務必將 Hive 指令碼的首碼修改為 ossref(單擊切換資源類型),以保證 E-MapReduce 可以正確下載該檔案。
- 選擇執行失敗後策略。
- 單擊確定,Hive 作業即定義完成。