使用EMR+DLF+OSS-HDFS进行数据湖分析

简介: 本实验通过使用EMR,搭建EMR集群,对OSS-HDFS进行数据湖分析

使用EMR+DLF+OSS-HDFS进行数据湖分析


1. 创建实验资源

开始实验之前,您需要先创建相关实验资源。

  1. 在云起实验室,单击创建资源
  2. (可选)在实验室页面左侧导航栏中,单击云产品资源列表,可查看本次实验资源相关信息(例如IP地址、用户信息等)。 说明:资源创建过程需要5~8分钟。

2. 准备实验环境

操作原理:

用实验分配的RAM用户登录到阿里云管控台,在OSS管控台的数据湖管理中,为实验提供的Bucket开通HDFS服务,作为后续要创建的数据表的存储地址。同时,创建好OSS文件夹供后续实验存储jar包使用。

操作目的:

学习如何为OSS Bucket开通HDFS服务,便于后续体验OSS-HDFS数据湖能力。

用实验分配的子账号登录阿里云管控台

  1. 打开Chromium网页浏览器,输入实验分配的用户名和密码,登录阿里云管控台

为OSS Bucket开通HDFS服务

  1. 复制下方地址,在Chromium网页浏览器打开新页签,粘贴并访问对象存储OSS管控台。
https://oss.console.aliyun.com/bucket
  1. 在左侧导航栏中,单击Bucket列表

  1. 搜索实验为自己分配的Bucket。

  1. 点击进入以实验室子账号为名的Bucket,选择进入OSS Bucket的数据湖管理下的HDFS服务,单击开通HDFS服务。

3. 通过EMR管控台,登录集群ECS命令终端

操作原理:

进入EMR管控台,找到集群节点组,登录集群ECS命令终端

操作目的:

学习如何使用EMR管控台,以及如何登录到集群ECS实例。

在EMR管控台找到实验所分配集群对应的ECS实例

  1. 双击打开远程桌面的Chromium网页浏览器
  2. 在RAM用户登录框中单击下一步,并复制粘贴页面左上角的子用户密码用户密码输入框,单击登录
  3. 复制下方地址,在Chromium网页浏览器打开新页签,粘贴并访问EMR管控台。
https://emr-next.console.aliyun.com/#/region/cn-shanghai/resource/all/overview

  1. 找到实验为自己分配的集群,点击进入节点管理

  1. 在节点管理中,展开master节点,点击下方的ECS ID,进入ECS管控台

在ECS管控台进入实例命令终端

  1. 在ECS管控台点击“远程连接”进入实例远程连接页面

  1. 点击立即登录

  1. 选择证书认证,把云产品资源面板的 “密钥对私钥” 粘贴到秘钥处。点击确定。

  1. 进入实例页面

4. 熟悉OSS-HDFS操作,并创建目录

熟悉OSS-HDFS操作,并创建目录

操作原理:

使用Hadoop Shell命令操作OSS-HDFS,上传文件,创建目录,查看文件或目录信息,获取文件或目录大小。

操作目的:

学习如何在EMR集群命令终端上,用hadoop shell命令操作OSS-HDFS。同时创建后续实验需要的文件目录。

通过Hadoop Shell命令访问OSS-HDFS

  1. 通过ls命令,确认当前目录下是否有logtail.sh文件。如有,可继续第二步。
ls

如果没有,可通过vim命令快速建一个文件。

vim test.txt

  1. 选择当前目录下的内容,上传到自己的Bucket下,此处以logtail.sh为例。并创建dir文件夹。

注意:脚本中的Bucket名称(u-5stubb6d)要改为实验为自己分配的Bucket

# 上传文件
hadoop fs -put logtail.sh oss://u-5stubb6d.cn-shanghai.oss-dls.aliyuncs.com/
# 新建目录
hadoop fs -mkdir oss://u-5stubb6d.cn-shanghai.oss-dls.aliyuncs.com/dir/

  1. 查看文件或目录信息
hadoop fs -ls oss://u-5stubb6d.cn-shanghai.oss-dls.aliyuncs.com/

  1. 获取文件或目录大小
hadoop fs -du oss://u-5stubb6d.cn-shanghai.oss-dls.aliyuncs.com/

5. 通过Hive建库建表,做聚和分析

操作原理:

通过Hive在本地集群HDFS上建库,在OSS-HDFS上建表,插入数据做聚和分析。

操作目的:

学习如果在集群上使用HiveSQL,建库建表以及简单的数据分析。学习如何把表建在OSS-HDFS上。

进入Hive命令行

  1. 执行以下命令,切换为hadoop用户。
su hadoop
  1. 执行以下命令,进入Hive命令行。
hive

建库建表

  1. 创建库,本文示例中的库以testdb为例介绍。
create database if not exists testdb;

当返回信息包含OK时,表示创建库testdb成功。以下说明成功在集群本地hdfs上建立数据库。

  1. 创建表,本文示例中的表以t为例介绍。

注意:脚本中的Bucket名称(u-5stubb6d)要改为实验为自己分配的Bucket

use testdb;
create table if not exists t (id bigint, value string) location 'oss://u-5stubb6d.cn-shanghai.oss-dls.aliyuncs.com/dir/';
  1. 查看表信息,看到location为自己的oss-hdfs Bucket,说明成功在oss-hdfs上创建表。
desc formatted t;

  1. 插入记录
insert into table t select 1, 'value-1';

当返回信息包含OK时,表示插入信息成功。

  1. 查询表中的前10条信息。预期会返回信息刚刚插入的记录
select * from t limit 10;

SQL操作

  1. 再依次插入2条记录
insert into table t select 2, 'value-2';
insert into table t select 11, 'value-1';
  1. 聚合操作
select value, count(id) from t group by value;

返回信息如下所示。

6. 在DLF查看元数据

操作原理:

在DLF上,查看刚刚创建的数据目录、库、表。

操作目的:

学习如何在DLF上查看在集群上创建的数据目录、库、表。

  1. 复制下方地址,在Chromium网页浏览器打开新页签,粘贴并访问DLF管控台。
https://dlf.console.aliyun.com/cn-shanghai

  1. 点击左侧元数据管理,在数据目录筛选框中,选择实验为自己分配的DLF catalog

  1. 找到自己刚刚创建的数据库"testdb"

  1. 进入该数据库,查到表列表,可以看到刚刚创建的表"t"

实验地址:https://developer.aliyun.com/adc/scenario/f7cf565798e34710acf483ba56e6ebf6

相关实践学习
一小时快速掌握 SQL 语法
本实验带您学习SQL的基础语法,快速入门SQL。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
6天前
|
存储 缓存 安全
阿里云EMR数据湖文件系统: 面向开源和云打造下一代 HDFS
本文作者详细地介绍了阿里云EMR数据湖文件系统JindoFS的起源、发展迭代以及性能。
|
4月前
|
存储 对象存储 SQL
【获奖名单公示】Hologres实时湖仓分析挑战赛
5分钟快速使用Hologres实时湖仓能力,无需移动数据,直接加速读取存储于数据湖OSS上的Hudi、Delta、Paimon等格式类型的数据
【获奖名单公示】Hologres实时湖仓分析挑战赛
|
8月前
|
SQL 存储 数据采集
数据湖构建DLF快速入门
本教程通过使⽤数据湖构建DLF产品对于淘宝用户行为样例数据的分析,介绍数据湖构建DLF产品的数据发现和数据探索功能。
161 0
|
8月前
|
存储 分布式计算 关系型数据库
AnalyticDB MySQL — Spark 助力在OSS上构建低成本数据湖
阿里云对象存储OSS(Object Storage Service)是阿里云提供的海量、安全、低成本、高可靠的云存储服务。通过和OSS团队的深入合作,AnalyticDB MySQL 的Spark能力 更好发挥了云原生数据湖方案的优势,本文为你详细解读!
|
9月前
|
存储 分布式计算 关系型数据库
AnalyticDB MySQL Spark 助力在OSS上构建低成本数据湖
借助AnalyticDB MySQL Spark 可以轻松处理OSS上PB级数据,助力企业构建低成本数据湖
|
2月前
|
SQL 分布式计算 数据处理
Uber基于Apache Hudi增量 ETL 构建大规模数据湖
Uber基于Apache Hudi增量 ETL 构建大规模数据湖
56 2
|
2月前
|
存储 SQL 分布式计算
基于Apache Hudi + MinIO 构建流式数据湖
基于Apache Hudi + MinIO 构建流式数据湖
106 1
|
8月前
|
存储 人工智能 数据库
企业级数据湖的构建之道(一)
企业级数据湖的构建之道(一)
91 1
|
1月前
|
存储 人工智能 运维
数据湖建设实践:使用AWS S3与LakeFormation构建灵活数据存储
【4月更文挑战第8天】本文分享了使用AWS S3和LakeFormation构建数据湖的经验。选择S3作为数据湖存储,因其无限容量、高可用性和持久性,以及与多种系统的兼容性。LakeFormation则负责数据治理和权限管理,包括元数据管理、简化数据接入、细粒度权限控制和审计。通过这种方式,团队实现了敏捷开发、成本效益和数据安全。未来,数据湖将融合更多智能化元素,如AI和ML,以提升效能和体验。此实践为数据驱动决策和企业数字化转型提供了有力支持。
35 2
|
2月前
|
消息中间件 监控 Kafka
Yotpo构建零延迟数据湖实践
Yotpo构建零延迟数据湖实践
35 0