TIS借力阿里云 JindoFS 快速实现云上数据集成分析

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
可观测可视化 Grafana 版,10个用户账号 1个月
简介: 利用TIS 借力阿里云 Jindo 快速实现云上数据集成分析,为用户提供免维护、费用低廉、稳定、高效的数仓服务。

什么是Jindo

JindoFS 是阿里云基于 Apache Spark / Apache Hadoop 在云上定制的分布式计算和存储引擎。Jindo 在开源基础上做了大量优化和扩展, 深度集成和连接了众多阿里云基础服务。
JindoFS 完全兼容 Hadoop 文件系统接口,为阿里云 EMR 中所有的计算服务和引擎: Spark、 Flink、 Hive、 MapReduce、 Presto、 Impala 等提供底层存储服务。JindoFS 有两种使用模式, 块存储模式(BLOCK)和缓存模式(CACHE)。

JindoFS比传统的 Hadoop 基于文件系统的HDFS有如下优势:

  1. 免维护

    这个是所有云上PAAS服务的天然优势,在阿里云上只需轻点鼠标就能把一个快速启动一个数仓服务,并且阿里云为数仓提供健全的实时监控能力,为用户的业务系统保驾护航。

  2. 费用低廉

    由于阿里云上Jindo底层直接使用OSS来作为存储介质,使用过OSS的同学都知道它价格非常便宜,平时生产环境中经常用它来作备份存储,冷热分离都在使用它。
    且使用中随着容量扩大可以做到弹性扩容对上层使用无感知。

  3. 稳定、高效

    JindoFS 底层直接使用C++调用操作系统native code,免去了JAVA的GC问题,因此响应更快。
    JindoFS通过 内部服务组件JindoStorageService 实现存储节点高效本地缓存,比传统的HDFS性能有大幅提升。在扩缩容方面,由于StorageService 来管理节点上的存储,保证了数据在 OSS 上有一副本,因此对于节点迁移、 节点下线等场景, JindoFS 无需复杂副本计算, 通过快速的“ 标记” 即可完成下线。
    避免传统 HDFS运维方式那样的,通常一个存储节点的下线需要小时级别的等待才能完成,基本可以实现秒级完成扩缩容。

什么是TIS

TIS是一款面向大数据集成的端到端的基于UI界面的数据集成产品,已经实现了多种类型数据节点之间的数据批量与增量同步功能。相较于其他同类型的产品有显著优势:

  1. 轻量化、安装简单
  2. 基于UI使用方便,开箱即用
  3. 基于DataOps,内部经过数据建模,大量执行脚本会自动生成,用户毋需关注底层细节

由于Jindo使得在云上使用分布式离线分析计算比私有云中基于传统HDFS的离线分析高效且经济,使得大量用户正在将自建私有云离线数仓迁移到云上数仓。
这个想法是不错,但就像给猫脖子上套铃铛的方案一样,能想出这个办法的小老鼠固然是聪明的,关键是怎么把铃铛挂到猫脖子上去呢?

偶然间发现了TIS,让使用阿里云EMR基础设施变得简单了。用户在阿里云上申请好EMR,Hive,等基础设施,后面的工作就交给TIS了。

下图是TIS 支持的 源端和目标端类型:
aliyun-jindo.png

具体操作

准备阿里云EMR环境

使用场景中需要用到阿里云EMR的Hive环境,我们需要在阿里云上注册两个服务资源。

  1. 阿里云OSS

    由于EMR Hive使用阿里云OSS作为JindoFS的存储层,因此我们需要先申请阿里云OSS资源,申请地址

    add-oss-bucket.png

    如上图所示,申请OSS资源步骤中需要将HDFS服务功能选项打开,可以让EMR Hive将Hive元数据写入到OSS中

  2. 阿里云EMR

    申请 阿里云EMR 申请地址

    add-emr.png

在选取EMR服务节点步骤,需要将节点的公网挂载打开,这样可以公网访问。另外,服务节点ECS对应的安全组需要将 908310000 两个端口打开,以便从公网访问阿里云EMR Hive服务。

add-emr-node-set.png

动手部署

准备好了依赖的资源后,接下来向大家介绍 如何创建从MySQL 到 Aliyun EMR Hive的数据同步通道。

  1. 定义通道基本信息

    add-datax-profile.png

  2. 选择数据通道 Source和Sink 端类型

    add-datax-type.png

    如上图源端和目标端分别选择 MySQLHive类型

  3. 设置源端MySQL配置信息

    add-datax-mysql-reader.png

  4. 从源端MySQL中选择同步表

    add-datax-mysql-reader-select-tabs.png

  5. 定义阿里云 EMR Hive 资源配置

    add-hiveserver.png

  1. 定义JindoFS服务引用:

    add-jindofs.png

  2. 定义 EMR Hive目标(Sink)端:

    add-hive-sink.png

    通过上图演示,EMR Hive目标(Sink)端页面可以设置:

    1. EMR Hive 分区保留数

      TIS每次导入,会自动判断目标端的Hive表是否存在?如果不存在TIS会自动创建表。每次导入目标端表后会自动在表上创建一个分区,然后数据分区是要占用存储空间的,不能无限制的增加分区,需要设置一个分区上限,每次将历史分区最旧的分区drop掉

    2. partitionFormat(分区格式)

      每次新建的分区使用的时间格式,可以是yyyyMMddHHmmss或者是yyyyMMdd

    3. fileType(文件格式)

      Hive 对应的文件Format(也就是存放在JindoFS上的文件格式),目前可以选择两种最通用的格式,CSVTEXT格式,将来还可以扩展其他存储格式,如:ORCParquet

  3. 触发数据通道同步任务

    终于完成数据通道创建,接下来触发同步任务执行

    trigger-sync.png

    最终,我们可以进入EMR管理后台通过执行SQL 查询导入到EMR Hive中的数据

总结

凭借云上JinDoFS提供的诸多优势,使得越来越多的在传统私有云中构建数仓的企业开始将数仓迁移到云上数仓。
通过TIS提供的一站式,快捷基于DataOPS理念开发的数据集成产品,为用户高效且低成本使用云上设置提供有效手段。用户使用TIS过程中,不需要关注底层技术细节,例如:

  1. 不需要关系源表的表自动类型,TIS会帮你自动创建Hive表。
  2. 自动维护将Hive目标表的历史分区,自动淘汰老历史分区
  3. 自动分配导入过程中,任务调度资源分配。
  4. 支持多种Hive 表的文件格式,提供方便的文件格式扩展机制

以上这些TIS的特点,都大大降低了 阿里云EMR 的使用门槛。

另外,TIS为用户实现云中立使用数仓服务提供了可能。用户如扩展海外市场,海外部署如选择使用亚马逊AWS来构建数仓服务,在亚马逊AWS上提供了类似阿里云EMR的基础设置,
TIS中同样提供亚马逊AWS 数仓服务的插件,这样就可以将TIS作为数仓服务的门面(Facade模式)提供统一的用户体养来操作各云平台。

相关资源

目录
相关文章
|
30天前
|
关系型数据库 分布式数据库 数据库
成都晨云信息技术完成阿里云PolarDB数据库产品生态集成认证
近日,成都晨云信息技术有限责任公司(以下简称晨云信息)与阿里云PolarDB PostgreSQL版数据库产品展开产品集成认证。测试结果表明,晨云信息旗下晨云-站群管理系统(V1.0)与阿里云以下产品:开源云原生数据库PolarDB PostgreSQL版(V11),完全满足产品兼容认证要求,兼容性良好,系统运行稳定。
|
2月前
|
机器人
阿里云 RPA 的成本效益分析
机器人流程自动化(RPA)技术在企业数字化转型中扮演着越来越重要的角色。阿里云 RPA 作为一种高效的自动化解决方案,不仅可以提高业务效率,还可以降低运营成本。本文将对阿里云 RPA 的成本效益进行分析,帮助企业更好地评估和利用这一技术。
|
2月前
|
云计算 弹性计算 运维
凭风好借力 送我上青云-帕鲁们在阿里云上的乘风之旅
2024年1月18日,幻兽帕鲁在Steam发行,不到一周全球爆火,在游戏圈引起了轩然大波,犹如一阵大风呼呼吹来,意想不到的是这股"大风"也吹到了云厂商,阿里云敏锐的捕捉到这股"春风",为何称为"春风"?作者作为阿里云的老用户,也是一名云架构师,阿里云在此之前,云栖大会很火爆,而后,推出了《e型经济型实例》,恰到好处的一股春风"幻兽帕鲁",让《e型经济型实例》乘风而上,且阿里云的同学也非常迅速的通过自身的计算巢服务设计出全托管类的《幻兽帕鲁一条龙服务》,当其他家还在观望,亦或是仅推出搭建教程的时候阿里云已经用行动向大家展现出自身的实力,突然联想到阿里云自研芯片部门---"平头哥",干就完了
65860 66
凭风好借力 送我上青云-帕鲁们在阿里云上的乘风之旅
|
1月前
|
数据库
阿里云DTS数据迁移和数据同步的差异性分析
阿里云DTS作为一款常用的数据库表迁移工具,提供了功能非常类似的两个功能:数据迁移、数据同步。阿里云DTS产品官网对这两个功能模块进行了简单的区分: 场景1:存量数据批量迁移,建议使用数据迁移功能。 场景2:增量数据实时同步,建议使用数据同步功能。 实际上,无论是数据迁移还是数据同步,都可以做 “结构初始化”+“全量数据迁移”+“增量迁移”,因此两者功能差异并不明显。笔者在多个项目实践DTS数据迁移,在简单需求场景下,将DTS的数据迁移、数据同步进行对比和总结。
|
2月前
|
存储 运维 关系型数据库
规划阿里云RDS跨区迁移业务需求业务影响分析
规划阿里云RDS跨区迁移业务需求业务影响分析
25 4
|
2月前
|
监控 数据可视化 测试技术
集成阿里云 RPA 与现有系统
随着企业对自动化和数字化转型的需求不断增长,阿里云 RPA(机器人流程自动化)技术成为了提升业务效率和减少人工操作的重要工具。本文将介绍如何集成阿里云 RPA 与现有系统,以实现更高效的业务流程自动化。
|
3月前
|
存储 关系型数据库 分布式数据库
阿里云PolarDB解决乐麦多源数据存储性能问题
乐麦通过使用PolarDB数据库,使整个系统之间的数据查询分析更加高效
390 3
|
3月前
|
存储 NoSQL MongoDB
阿里云 Flink 原理分析与应用:深入探索 MongoDB Schema Inference
本文整理自阿里云 Flink 团队归源老师关于阿里云 Flink 原理分析与应用:深入探索 MongoDB Schema Inference 的研究。
46940 2
阿里云 Flink 原理分析与应用:深入探索 MongoDB Schema Inference
|
4月前
|
存储 分布式计算 安全
【云计算与大数据计算】大数据物理、集成、安全架构及阿里云飞天系统架构讲解(超详细)
【云计算与大数据计算】大数据物理、集成、安全架构及阿里云飞天系统架构讲解(超详细)
298 0
|
4月前
|
存储 关系型数据库 大数据
Hologres是阿里云自研的HSAP(Hybrid Serving/Analytical Processing)服务/分析一体化系统
Hologres是阿里云自研的HSAP(Hybrid Serving/Analytical Processing)服务/分析一体化系统
191 2

热门文章

最新文章

  • 1
    Serverless 应用引擎操作报错合集之阿里函数计算中我打开sd时遇到错误,信息为"Function instance exited unexpectedly(code 1, message:operation not permitted) with start command ' '."如何解决
    7
  • 2
    Serverless 应用引擎操作报错合集之阿里函数计算中配置完fc,出现‘Function instance exited unexpectedly(code 1, message:operation not permitted) with start command 'npm run start '. 报错如何解决
    8
  • 3
    Serverless 应用引擎操作报错合集之阿里函数计算中,出现"Process exited unexpectedly before completing request"错误如何解决
    6
  • 4
    Serverless 应用引擎操作报错合集之阿里函数计算中,总是报错“Process exited unexpectedly before completing request (duration: 0ms, maxMemoryUsage: 0.00MB)”如何解决
    7
  • 5
    Serverless 应用引擎操作报错合集之阿里函数计算中{"ErrorCode":"AccessDenied","ErrorMessage":"Current user is in debt."}出现这个代码如何解决
    10
  • 6
    Serverless 应用引擎操作报错合集之阿里函数计算中我的3dopenpose报错 "error 预览失败" 如何解决
    10
  • 7
    Serverless 应用引擎操作报错合集之阿里函数计算中,(FC)无法正常运行如何解决
    7
  • 8
    Serverless 应用引擎操作报错合集之阿里函数计算中,出现FC 3 assert torch.cuda.is_available() 报错如何解决
    9
  • 9
    Serverless 应用引擎操作报错合集之阿里函数计算中,生成图片时进程卡住如何解决
    10
  • 10
    Serverless 应用引擎操作报错合集之阿里函数计算中出现关于“FC environment variables [FC_RuntIME_API] are not defined exit status 1”的报错如何解决
    12