天天看點

基于EMR離線資料分析

場景體驗目标

資料量爆發式增長的今天,數字化轉型成為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資料通路控制。支援資料加密,保證資料安全

基于EMR離線資料分析

登陸叢集

(尚未擁有阿裡雲叢集 可以至

體驗實驗室

免費體驗)

上傳資料到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           
基于EMR離線資料分析

使用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' 
  ;           
基于EMR離線資料分析
  1. 從hadoop檔案系統加載資料到hive資料表。
LOAD DATA INPATH '/data/student/u.txt' INTO TABLE emrusers;           

對表進行操作

1.檢視表資料。

select * from emrusers limit 5;           
基于EMR離線資料分析

2.計算count。

select count(*) from emrusers;           
基于EMR離線資料分析
  1. 評級最高的三個電影。
select movieid,sum(rating) as rat from emrusers group by movieid order by rat desc limit 3;           
基于EMR離線資料分析

繼續閱讀