申请试用
HOT
登录
注册
 
【数据湖JindoFS+OSS 实操干货36讲】第3/4讲
0 点赞
0 收藏
0下载
Apache Spark中国技术交流社区
/
发布于
/
44
人观看

概念简述

JindoFS 作为阿里云基于 OSS 的一揽子数据湖存储优化方案,完全兼容 Hadoop/Spark 生态,并针对 Spark、Hive、Flink、Presto 等大数据组件和 AI 生态实现了大量扩展和优化。

JindoFS 项目包括 JindoFS OSS 支持、JindoFS 分布式缓存系统(JindoFS Cache 模式)和 JindoFS 分布式存储优化系统(JindoFS Block 模式)。

JindoSDK 是各个计算组件可以用来使用JindoFS 这些优化扩展功能和模式的套件,包括 Hadoop Java SDK、Python SDK 和 Fuse/POSIX 支持。JindoSDK 在阿里云 E-MapReduce 产品中被深度集成,同时也开放给非 EMR 产品用户在各种 Hadoop/Spark 环境上使用。

GitHub 地址:

https://github.com/aliyun/alibabacloud-jindofs

课程背景

为了让更多开发者了解并使用 JindoFS,由阿里云 JindoFS+OSS 团队打造的专业公开课【数据湖 JindoFS+OSS 实操干货36讲】会在每周二16:00准时开讲!从五大板块入手,玩转数据湖!

本期主题:

1、如何将 HDFS 数据归档到 OSS

2、如何将 Hive 数据按分区归档到 OSS

主讲人:

辰石 - 阿里巴巴计算平台事业部 EMR 技术专家

健身 - 阿里巴巴计算平台事业部 EMR 技术专家

展开查看详情

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

11.

12. | E-MapReduce | 对象存储OSS 数据湖 JindoFS + OSS 实操36讲 【数据迁移】如何将 Hive 数据按分区归档到 OSS 演讲人:健身 阿里巴巴计算平台事业部 EMR 技术专家 2021.05.18

13. 背景介绍 功能介绍 CONTENT 实现原理 使用示例

14.传统集群架构 • 存储计算一体 • 存储量与计算量无 法始终匹配 • 存储无法水平扩展 • 存储与计算竞争硬 盘资源

15.存储分层架构 • 计算资源动态伸缩 • 存储资源使用云存储作为HDFS的替代或补充 • 相比存算分离架构,对于已有 HDFS 数据比较平滑,可以逐渐过 渡到存算分离架构 存算分离 存储分层

16.数据仓库 • 数据仓库是大数据的典型场景 • 每天的 ETL 作业新增大量数据 • Hive 支持分区表,使用分区可以快速裁剪数据 • Hive 数仓中大量 Hive 表以时间日期作为分区字段 • 在数仓中很多表的较老的日期分区平常一般不会被访问,可以考 虑把这部分数据移出 HDFS • Hive 的每个分区都有自己的 storage descriptor,可以有单独的存 储路径

17.分区表的结构 • partitioned_table_xx • dt=2021-05-16/category=1/ • dt=2021-05-16/category=2/ • dt=2021-05-16/category=5/ • dt=2021-05-16/category=8/ • dt=2021-05-15/category=2/ • dt=2021-05-15/category=3/ • dt=2021-05-15/category=4/ • ……

18.使用 JindoTable 按分区归档数据 • 在本地盘机型上,HDFS 可以提供较好的性能,对集群已有存储 空间也能较好利用 • 一般情况下用不到的数据移动到 OSS,释放集群存储空间,减小 NameNode 压力 • 需要读取这部分数据时,也可以直接从 OSS 读取,不影响上层作 业 • 每天 ETL 完成后可以移动数据 • https://github.com/aliyun/alibabacloud- jindofs/blob/master/docs/tools/table_moveto.md

19.实现原理 • Jindo distcp 作为底层工具 • 使用 jindo distcp 事务模式 • 使用 HDFS 文件锁保证同一 时间每个分区只有一个作业 在操作 • 先修改分区元数据再清理 hdfs 数据确保数据可用

20.使用示例 jindo table -moveTo -t <dbName.tableName> -d <destination path> [-c "<condition>" | - fullTable] [-b/-before <before days>] [-p/-parallel <parallelism>] [-o/-overWrite] [-r/- removeSource] [-e/-explain] [-l/-logDir <log directory>] 参数 说明 <dbName.tableName> 要移动的表。 <destination path> 目标路径,为表级别的路径,分区路径会在这个路径下自动创建。 <condition> 分区过滤条件表达式,支持基本运算符,不支持udf。 <before days> 根据分区创建时间,创建时间超过给定天数的分区进行移动。 <parallelism> 整个moveTo任务的最大task并发度,默认为1。 -o/-overWrite 是否覆盖最终目录。分区级别覆盖,不会覆盖本次移动不涉及的分区。 -r/-removeSource 是否在移动完成后删除源路径。 <log directory> 本地日志目录,默认为/tmp/<current user>/ -e/-explain 如果指定explain模式,不会触发实际操作,仅打印会同步的分区。

21.使用示例 • 数据准备

22.使用示例 • 移动分区字段 ds 大于 ‘b’的分区

23.使用示例 • 检查移动后的分区情况

24. E-MapReduce | E-MapReduce | 对象存储OSS 每周二 16:00 锁定系列直播 ▲ 欢迎钉钉扫码入群交流 ▲

0 点赞
0 收藏
0下载