在腾讯云 EMR 上使用 GooseFS 加速大数据计算服务

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

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

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

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

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

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

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

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

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

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

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

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_demo
response 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_page
Asynchronous job submitted successfully, jobId: 1615966078836
  1. 预热完成后,就可以正常的执行查询任务,获得 GooseFS 的本地缓存加速性能。

GooseFS 加速性能对比

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

在腾讯云 EMR 上使用 GooseFS 加速大数据计算服务

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

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

在腾讯云 EMR 上使用 GooseFS 加速大数据计算服务

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

总结

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

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

附件

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

SQL casecase100_D3_本地SATA-HDFScase101_D3_本地SATA-GooseFS
 2961828230
query1.sql150167
query2.sql13921213
query3.sql402329
query8.sql338255
query12.sql280252
query13.sql367293
query15.sql767706
query19.sql368297
query20.sql503441
query21.sql170182
query22.sql9694
query26.sql582583
query31.sql1211854
query32.sql929670
query33.sql673450
query34.sql345253
query36.sql444404
query37.sql473396
query38.sql811603
query39.sql498510
query40.sql953905
query43.sql328252
query45.sql453426
query46.sql361332
query48.sql431382
query52.sql345239
query53.sql806777
query55.sql341237
query56.sql675459
query57.sql26272559
query59.sql17111618
query60.sql687465
query63.sql805776
query66.sql433430
query68.sql352320
query70.sql12613961
query71.sql677475
query73.sql339237
query76.sql662378
query82.sql758688
query83.sql309320
query86.sql186152
query87.sql792613
query89.sql809776
query97.sql880712
query98.sql838789

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

SQL casecase200_S5_SSD云盘-GooseFScase201_S5_SSD云盘-CHDFScase204_S5_SSD云盘-COSN
 303533682041803
query1.sql194212205
query2.sql137715581921
query3.sql463457570
query8.sql294394509
query12.sql287307347
query13.sql307668814
query15.sql8378671074
query19.sql354512586
query20.sql576554680
query21.sql213196210
query22.sql111109107
query26.sql806882973
query31.sql97213281817
query32.sql7789491453
query33.sql5247791049
query34.sql292428526
query36.sql479545688
query37.sql449500679
query38.sql6918681210
query39.sql695565654
query40.sql109810821251
query43.sql304378514
query45.sql506568628
query46.sql412557610
query48.sql437697847
query52.sql242328501
query53.sql9468991058
query55.sql244351485
query56.sql520704925
query57.sql322329143469
query59.sql196519302302
query60.sql539696905
query63.sql9359341025
query66.sql543593584
query68.sql380570578
query70.sql143041731608
query71.sql536780951
query73.sql282384547
query76.sql368648981
query82.sql796828972
query83.sql369353378
query86.sql163184219
query87.sql7128961038
query89.sql9519241050
query97.sql8018711213
query98.sql9529001092

本文来自投稿,不代表云期刊立场,如若存在侵权问题,请联系本站,本站将及时删除。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

问答社区 在线客服
咨询电话

iphone 咨询热线:13001069197

服务时间:上午 9:00 至晚上 21:00

联系我们

QQ 技术:109033286

QQ 运维:3423710838

email 邮箱:drhxxkj@163.com

Qqun QQ交流群:808026766

分享本页
返回顶部
上云攻略全知道

企业上云,购买云服务器攻略帮您节省上云成本,价值千元 的上云攻略,让您省到就是赚到!

查看详情