GooseFS 是腾讯云对象存储团队最新推出的高性能、高可用以及可弹性伸缩的分布式缓存系统,依靠对象存储(Cloud Object Storage,COS)作为数据湖存储底座的成本优势,为数据湖生态中的计算应用提供统一的数据湖入口,可加速基于腾讯云对象存储的各类海量数据分析以及机器学习等任务。本文将介绍如何在腾讯云 EMR 上使用 GooseFS 加速大数据计算任务。



GooseFS 是腾讯云对象存储团队近期面向下一代云原生数据湖场景推出的存储加速利器,提供与 HDFS 对标的 Hadoop Compatible FileSystem 接口实现,可为云上的大数据计算任务提供:

  • 高可靠、可弹性伸缩的分布式读写缓存服务;
  • 内存级的数据本地化(Data Locality)访问性能;
  • 基于 Namespace 粒度的读写缓存策略以及 Hive Table 级别预热;
  • 与 HDFS 一致的 Ranger 鉴权机制;
  • 对象存储 AZ 级别的加速访问与高 QPS 的元数据访问能力;以及快速部署和开箱即用等特性。

本文将基于腾讯云 EMR 介绍如何快速部署 GooseFS 用于加速云上大数据分析任务。

1 加速腾讯云 EMR 大数据计算任务

为了在腾讯云 EMR 中使用 GooseFS 加速大数据计算任务,可参考官网文档腾讯云 EMR 环境中部署和配置GooseFS(https://cloud.tencent.com/document/product/436/58513),即可开启 GooseFS 的缓存加速能力。下文将以数据仓库业务以及迭代计算场景展示 GooseFS 的加速访问能力。

2 加速基于Hive、Spark SQL和Presto数据仓库查询业务

很多大数据客户的数据仓库类业务具备明显的冷热周期特征,例如:某大数据客户每天会定时基于数仓生成日报报表,Hive 表的分区是日期维度。

GooseFS 集成了 Hive Table 的元数据管理能力,并且提供了 Hive table & partition 粒度的数据预热特性,用户可以通过配置工作流任务来每天在闲时预热加载 table & partition 以降低峰值查询的带宽消耗,然后在数据访问高峰期提供内存级的缓存加速能力。

在热表或分区变冷以后,使用 Free 命令将其从缓存中释放掉。

| 下面,将会详细地介绍 GooseFS Table 管理能力以及预热方法。

3 GooseFS Table & Partition 管理与预热

GooseFS Table & Partition 管理与预热能力都是通过 GooseFS 的 table 命令行来实现:

$ goosefs table
Usage: goosefs table [generic options]
[attachdb [-o|--option <key=value>] [--db <goosefs db name>] [--ignore-sync-errors] <udb type> <udb connection uri> <udb db name>]
[detachdb <db name>]
[free <dbName> <tableName> [-p|--partition <partitionSpec>]]
[help [<command>]]
[load <dbName> <tableName> [-g|--greedy] [--replication <num>] [-p|--partition <partitionSpec>]]
[ls [<db name> [<table name>]]]
[stat <dbName> <tableName>]
[sync <db name>]
[transform <db name> <table name> [-d <definition>]]
[transformStatus [<job ID>]]

其中,提供 Hive DB 绑定和解绑,预热加载DB下的指定 Table & Partition。

  1. 在预热 Hive DB 中的指定 Table & Partition 到 GooseFS 之前,需要先将 DB 挂载到 GooseFS 中:
$ goosefs table attachdb --db test_db hive thrift://metastore_host:port goosefs_db_demoresponse of attachdb
  1. 挂载完后,可使用 GooseFS 的命令行查看 DB 中的 Table 信息:
$ goosefs table ls test_db web_page
OWNER: hadoop
DBNAME.TABLENAME: testdb.web_page (
wp_web_page_sk bigint,
wp_web_page_id string,
wp_rec_start_date string,
wp_rec_end_date string,
wp_creation_date_sk bigint,
wp_access_date_sk bigint,
wp_autogen_flag string,
wp_customer_sk bigint,
wp_url string,
wp_type string,
wp_char_count int,
wp_link_count int,
wp_image_count int,
wp_max_ad_count int,
)
PARTITIONED BY (
)
LOCATION (
gfs://metastore_host:port/myiNamespace/3000/web_page
)
PARTITION LIST (
{
partitionName: web_page
location: gfs://metastore_host:port/myNamespace/3000/web_page
}
)
  1. 然后,可预热指定 Table 到 GooseFS中,同时还可以查看 Table 预热情况:
$ goosefs table load test_db web_pageAsynchronous job submitted successfully, jobId: 1615966078836
  1. 预热完成后,就可以正常的执行查询任务,获得 GooseFS 的本地缓存加速性能。

GooseFS 加速性能对比

这里,我们基于标准的 TPCDS benchmark 在腾讯云 EMR 环境中对比测试了本地 HDFS 得到整个测试过程总时延。其中,GooseFS 挂载 COSN 作为其UFS,并且提前预热了测试数据集。

在相同的测试数据集本地化的程度下,GooseFS 读数据访问性能上相对 HDFS 更好。具体分 SQL case 的时延数据可参考附录。

同时,COSN 和 CHDFS 作为腾讯云上两个比较常用的大数据文件系统实现,也可作为 GooseFS 的 Under File System 使用。这里也对比测试这三个文件系统,其中 GooseFS 挂载 COSN 作为其UFS,同样提前预热的测试数据集。

从该项测试结果,也可以看出,GooseFS 在预热数据的条件下,可以显著加速腾讯云上大数据存储系统的访问性能。具体分 SQL case 的时延数据可参考附录。

4 总结

GooseFS 作为腾讯云对象存储新推出的云原生大数据存储加速器,解决了基于 COSN 以及 CHDFS 等云上存储的 Data Locality 的缺陷,提供了本地近内存级的访问性能。

同时,GooseFS 提供了 Hive Table & Partition 级别的预热能力以及缓存策略管理,能够极大地方便用户完成数据预热和访问加速。在未来,GooseFS 会元数据访问性能、本地短路读性能以及智能 Cache 方向上做更深层次的优化开发,旨在进一步加速海量数据湖应用性能。关于了解更多请前往:https://cloud.tencent.com/document/product/436/56412

5 附件

case100_D3_本地SATA_HDFS 和 case100_D3_本地SATA_GOOSEFS 的 TPCDS 测试结果:

SQL case case100_D3_本地SATA-HDFS case101_D3_本地SATA-GooseFS
29618 28230
query1.sql 150 167
query2.sql 1392 1213
query3.sql 402 329
query8.sql 338 255
query12.sql 280 252
query13.sql 367 293
query15.sql 767 706
query19.sql 368 297
query20.sql 503 441
query21.sql 170 182
query22.sql 96 94
query26.sql 582 583
query31.sql 1211 854
query32.sql 929 670
query33.sql 673 450
query34.sql 345 253
query36.sql 444 404
query37.sql 473 396
query38.sql 811 603
query39.sql 498 510
query40.sql 953 905
query43.sql 328 252
query45.sql 453 426
query46.sql 361 332
query48.sql 431 382
query52.sql 345 239
query53.sql 806 777
query55.sql 341 237
query56.sql 675 459
query57.sql 2627 2559
query59.sql 1711 1618
query60.sql 687 465
query63.sql 805 776
query66.sql 433 430
query68.sql 352 320
query70.sql 1261 3961
query71.sql 677 475
query73.sql 339 237
query76.sql 662 378
query82.sql 758 688
query83.sql 309 320
query86.sql 186 152
query87.sql 792 613
query89.sql 809 776
query97.sql 880 712
query98.sql 838 789

SSD 云盘环境的 GooseFS、CHDFS 以及 COSN 的对比测试结果:

SQL case case200_S5_SSD云盘-GooseFS case201_S5_SSD云盘-CHDFS case204_S5_SSD云盘-COSN
30353 36820 41803
query1.sql 194 212 205
query2.sql 1377 1558 1921
query3.sql 463 457 570
query8.sql 294 394 509
query12.sql 287 307 347
query13.sql 307 668 814
query15.sql 837 867 1074
query19.sql 354 512 586
query20.sql 576 554 680
query21.sql 213 196 210
query22.sql 111 109 107
query26.sql 806 882 973
query31.sql 972 1328 1817
query32.sql 778 949 1453
query33.sql 524 779 1049
query34.sql 292 428 526
query36.sql 479 545 688
query37.sql 449 500 679
query38.sql 691 868 1210
query39.sql 695 565 654
query40.sql 1098 1082 1251
query43.sql 304 378 514
query45.sql 506 568 628
query46.sql 412 557 610
query48.sql 437 697 847
query52.sql 242 328 501
query53.sql 946 899 1058
query55.sql 244 351 485
query56.sql 520 704 925
query57.sql 3223 2914 3469
query59.sql 1965 1930 2302
query60.sql 539 696 905
query63.sql 935 934 1025
query66.sql 543 593 584
query68.sql 380 570 578
query70.sql 1430 4173 1608
query71.sql 536 780 951
query73.sql 282 384 547
query76.sql 368 648 981
query82.sql 796 828 972
query83.sql 369 353 378
query86.sql 163 184 219
query87.sql 712 896 1038
query89.sql 951 924 1050
query97.sql 801 871 1213
query98.sql 952 900 1092

在腾讯云 EMR 上使用 GooseFS 加速大数据计算服务的更多相关文章

  1. 腾讯云EMR大数据实时OLAP分析案例解析

    OLAP(On-Line Analytical Processing),是数据仓库系统的主要应用形式,帮助分析人员多角度分析数据,挖掘数据价值.本文基于QQ音乐海量大数据实时分析场景,通过QQ音乐与腾 ...

  2. 怎样将本地web数据库项目部署到腾讯云服务器上?

    怎样将本地web数据库项目 部署到腾讯云服务器上? 1.本地计算机的工作: 1.1用eclipse或者myeclipse做好一个web项目,可以只做一个数据库的增删改查,本地部署到Tomcat服务器, ...

  3. 怎样将本地web项目部署到腾讯云服务器上?

    怎样将本地web项目部署到腾讯云服务器上? 1.本地计算机的工作: (1).用eclipse新建一个web项目,然后在webcontent下新建一个index.html,然后在本地部署到Tomcat服 ...

  4. 在腾讯云服务器上体验Docker

    版权声明:本文由姚俊刚原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/85 来源:腾云阁 https://www.qclou ...

  5. Navicat连接腾讯云服务器上的数据库

    下面介绍Navicat连接腾讯云服务器上的数据库的两种方法: 方法一:[不需要修改相关远程客户端连接权限] 点击安装好的桌面navicat图标,进入后如下图: 连接方法:ssh中输入自己服务器的外网i ...

  6. GooseFS助力大数据业务数倍提升计算能力

    前言 GooseFS是由腾讯云推出的一款分布式缓存方案,主要针对包括需要缓存加速的数据湖业务场景,提供基于对象存储COS服务的近计算端数据加速层. GooseFS 基于开源大数据缓存方案 Alluxi ...

  7. 揭秘阿里云EB级大数据计算引擎MaxCompute

    日前,全球权威咨询与服务机构Forrester发布了<The Forrester WaveTM: Cloud Data Warehouse, Q4 2018>报告.这是Forrester ...

  8. 奇点云数据中台技术汇(一) | DataSimba——企业级一站式大数据智能服务平台

    在这个“数据即资产”的时代,大数据技术和体量都有了前所未有的进步,若企业能有效使用数据,让数据赚钱,这必将成为企业数字化转型升级的有力武器. 奇点云自研的一站式大数据智能服务平台——DataSimba ...

  9. 史上最易懂的大数据 OTO

    史上最易懂的大数据 OTO http://network.51cto.com/art/201503/467068.htm 终于有人把O2O.C2C.B2B.B2C的区别讲透了 http://tech. ...

  10. 将禅道部署到腾讯云linux 上

    部署环境 :linux(腾讯云),用到了 xshell   FileZilla 使用禅道集成环境lampp直接部署 1.首先下载 lampp j集成环境包.https://sourceforge.ne ...

随机推荐

  1. 开源的键鼠共享工具「GitHub 热点速览」

    十一长假回来,我的手放在落灰的键盘上都有些陌生了,红轴竟敲出了青轴般的响声,仿佛在诉说对假期结束的不甘. 假期回归的首更,让我们看看又有什么好玩的开源项目冲上了开源热榜.一套键盘和鼠标控制多台电脑的工 ...

  2. 五行强度得分_喜用神api免费接口_json数据八字五行强弱接口

    本API接口基于深厚的八字学原理,为用户提供详尽的五行(金.木.水.火.土)强弱分析.五行打分评估,以及精准的喜用神判断.用户只需输入自己的八字信息,即可获得全面而深入的命理解读. ‌一.核心功能‌ ...

  3. 如何理解iowait

    Linux中,%iowait 过高可能是个问题,严重的时候,它能使服务停止, 但问题是,多高才算高? 什么时候应该担心呢? 本文将讨论 iowait 的含义.相关的统计数据.原理以及 iowait的瓶 ...

  4. 更新预警(bushi)

    一回首,上次更新已经是将近3个月前了.但是博主不是似了,也不是逍遥快活游山玩水纸醉金迷乐不思蜀,而是上班太忙还是单休,所以没什么时间更新博客.但是今天我要开始忏悔了!预计更新以下几个专题(不一定真的会 ...

  5. 017 Python 流程控制之 if 判断

    博客配套视频链接: https://space.bilibili.com/383551518?spm_id_from=333.1007.0.0 b 站直接看 配套 github 链接:https:// ...

  6. MIL-STD-1553B总线通信模块(1553B板卡)

    MIL-STD-1553B总线通信模块(1553B板卡)产品具有以下特点: 1.产品覆盖多种接口CPCI/PXI/PCI/PC104/PC104+/USB等,满足用户不同平台的使用要求: 2.自主知识 ...

  7. 10款每个Web 开发人员都应该知道的JavaScript 插件

    那些从事 Web 开发工作的人肯定会注意到 JavaScript 的多功能性.与 ASP 或 PHP 不同,这种客户端编程语言为开发人员提供了多种可应用于项目的功能. 如果我们正在处理数据并希望丰富网 ...

  8. css常用布局之flex布局

    Flexbox 是一个一维的布局模式,它可以轻松地在不同的方向上排列子元素(称为 flex 项),即使它们的大小是未知或者是动态变化的.以下是 Flexbox 的一些关键概念: 容器和项: 启用 Fl ...

  9. Vue生态工具组合

    文章目录 1.Vue版本 2.构建工具 3.包管理器 4.状态管理 5.http库 6.UI库 7.站点生成器 8.优质内容收录 vue生态工具多种多样,我们要如何选择并组合起来才最好呢.接下来给大家 ...

  10. EVE-NG全面教程带下载资源以及链接-原创

    有关于EVE-NG的教程和资源 https://forum.eve-ng.cn/forum.php 1. 经验丰富的专业同行较多 2. 官方论坛,权威可靠 3. 有免费且可靠的镜像可以下载 并且简单好 ...