E-MapReduce預設提供了Hive環境,您可以直接使用Hive來建立和操作建立的表和資料。
前提條件
- 已建立好專案,詳情請參見專案管理。
- 已準備好Hive SQL的指令碼,並上傳到OSS的某個目錄中(例如oss://path/to/uservisits_aggre_hdfs.hive)。uservisits_aggre_hdfs.hive內容如下。
USE DEFAULT; DROP TABLE uservisits; CREATE EXTERNAL TABLE IF NOT EXISTS uservisits (sourceIP STRING,destURL STRING,visitDate STRING,adRevenue DOUBLE,userAgent STRING,countryCode STRING,languageCode STRING,searchWord STRING,duration INT) ROW FORMAT DELIMITED FIELDS TERMINATED 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 LOCATION '/HiBench/Aggregation/Output/uservisits_aggre'; INSERT OVERWRITE TABLE uservisits_aggre SELECT sourceIP, SUM(adRevenue) FROM uservisits GROUP BY sourceIP;
操作步驟
- 進入資料開發的專案列表頁面。
- 通過阿里雲帳號登入阿里雲E-MapReduce控制台。
- 在頂部功能表列處,根據實際情況選擇地區和資源群組。
- 單擊上方的資料開發頁簽。
- 單擊待編輯專案所在行的作業編輯。
- 建立Hive類型作業。
- 在頁面左側,在需要操作的檔案夾上單擊右鍵,選擇新增作業。
- 在新增作業對話方塊中,輸入作業名稱和作業描述,從作業類型下拉式清單中選擇Hive作業類型。表示建立的作業是一個Hive作業。這種類型的作業,實際是通過以下方式提交Hive作業運行。
hive [user provided parameters] - 單擊確定。
- 編輯作業內容。
- 在作業內容中,填寫提交該作業需要提供的命令列參數。例如,如果需要使用剛剛上傳到OSS的Hive指令碼,則填寫的內容如下。
-f ossref://path/to/uservisits_aggre_hdfs.hive說明path為uservisits_aggre_hdfs.hive在OSS上的路徑。您也可以單擊下方的+插入OSS路徑,從OSS中進行瀏覽和選擇,系統會自動補齊OSS上Hive指令碼的路徑。請務必將Hive指令碼的首碼修改為OSSREF,以保證E-MapReduce可以正確下載該檔案。
- 單擊儲存,作業內容編輯完成。
- 在作業內容中,填寫提交該作業需要提供的命令列參數。