場景體驗目标
資料量爆發式增長的今天,數字化轉型成為IT行業的熱點,資料需要更深度的價值挖掘,應對未來不斷變化的需求。海量離線資料分析可以應用于多種商業系統環境,例如電商海量日志分析、使用者行為畫像分析、科研行業的海量離線計算分析任務等場景。
本場景将通過開通登入EMR Hadoop叢集,簡單進行hive操作,使用hive對資料進行加載,計算等操作。展示了如何建構彈性低成本的離線大資料分析。
體驗此場景後,可以掌握的知識有:
1.EMR叢集的基本操作,對EMR産品有初步的了解
2.EMR叢集的資料傳輸和hive的簡單操作,對如何進行離線大資料分析有初步的掌握
背景知識
E-MapReduce(簡稱“EMR”)是雲原生開源大資料平台,向客戶提供簡單易內建的Hadoop、Hive、Spark、Flink、Presto、Clickhouse、Delta、Hudi等開源大資料計算和存儲引擎。EMR計算資源可以根據業務的需要調整。EMR可以部署在阿裡雲公有雲的ECS和ACK、專有雲平台。産品文檔位址:
https://www.aliyun.com/product/emapreduce産品優勢
開源生态:提供高性能、穩定版本Hadoop、Spark、Hive、Flink、Kafka、HBase、Presto、Impala、Hudi等開源大資料元件,客戶可根據場景靈活搭配使用
引擎優化:多引擎性能優化,如Spark SQL較開源版本提升6倍。采用JindoFS+OSS,保證資料可靠性基礎上,性能大幅提升
便捷運維:在阿裡雲控制台和OpenAPI友善地對叢集、節點和服務進行監控和運維操作。助您大幅提升運維工作效率,讓資料工程師更專注于業務開發
節約成本:叢集資源可自動按需比對,您隻需要按實際使用量付費,減少資源浪費成本。支援阿裡雲搶占式執行個體、預留執行個體券(RI),進一步降低成本
彈性資源:可以靈活調整叢集資源,在數分鐘内建立出基于雲伺服器 ECS、容器 ACK的叢集,快速響應業務需求
安全可靠:通過 VPC 和安全組設定叢集網絡安全政策,支援Kerberos身份認證和資料加密,使用Ranger資料通路控制。支援資料加密,保證資料安全
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHL9sWbhxGdXFWNk1mYoRmMMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLzcTNyQjMwYTMwITNwEjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
登陸叢集
(尚未擁有阿裡雲叢集 可以至
體驗實驗室免費體驗)
上傳資料到HDFS
1.建立HDFS目錄。
hdfs dfs -mkdir -p /data/student
2.上傳檔案到hadoop檔案系統。
a. 使用以下指令下載下傳示例資料檔案到伺服器内:
wget https://labfileapp.oss-cn-hangzhou.aliyuncs.com/%E5%85%AC%E5%85%B1%E6%96%87%E4%BB%B6/u.txt
b. 上傳檔案到hadoop檔案系統。
hdfs dfs -put u.txt /data/student
3.檢視檔案
hdfs dfs -ls /data/student
使用hive建立表
1.登入hive資料庫。
[root@emr-header-1 ~]# hive
Logging initialized using configuration in file:/etc/ecm/hive-conf-2.3.7-1.1.7/hive-log4j2.properties Async: true
Hive-on-MR is deprecated in Hive 2 and may not be available in the future versions. Consider using a different execution engine (i.e. spark, tez) or using Hive 1.X releases.
2.建立user表。
CREATE TABLE emrusers (
userid INT,
movieid INT,
rating INT,
unixtime STRING )
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
;
- 從hadoop檔案系統加載資料到hive資料表。
LOAD DATA INPATH '/data/student/u.txt' INTO TABLE emrusers;
對表進行操作
1.檢視表資料。
select * from emrusers limit 5;
2.計算count。
select count(*) from emrusers;
- 評級最高的三個電影。
select movieid,sum(rating) as rat from emrusers group by movieid order by rat desc limit 3;