Hologres实时湖仓能力增强,挑战5分钟加速分析OSS数据

本文涉及的产品
实时数仓Hologres,5000CU*H 100GB 3个月
简介: 5分钟快速使用Hologres实时湖仓能力,无需移动数据,直接加速读取存储于数据湖OSS上的Hudi、Delta、Paimon等格式类型的数据

5分钟快速使用Hologres实时湖仓能力,无需移动数据,直接加速读取存储于数据湖OSS上的Hudi、Delta、Paimon等格式类型的数据

活动地址:https://developer.aliyun.com/topic/hologres/dlf


准备工作

本文以上海地域为例开通OSS、DLF和Hologres服务。

  1. 开通OSS服务并准备测试数据。
  1. 打开OSS开通页面,按照界面指引完成开通操作。说明
  1. 登录OSS管理控制台,创建存储空间(Bucket)。具体操作,请参见控制台快速入门

image.png

  1. 上传tpch_10g_orc_3.zip测试数据至Bucket目录。
  • 测试数据文件上传后,若存在.DS_Store等文件需手动删除。
  • 考虑到下载速度,这里仅包含本文需要的nation_orc、supplier_orc、partsupp_orc数据表。


  1. 开通DLF服务并导入OSS测试数据。
  1. 访问开通DLF页面,您也可以单击免费开通,免费试用DLF产品。
  2. 登录数据湖管理控制台,在元数据管理页面,单击新建数据库。具体操作,请参见创建元数据库
    本文以创建mydatabase数据库为例。
  3. 元数据抽取页面,创建元数据抽取任务,将OSS测试数据导入。具体操作,请参见元数据抽取
    抽取完成后,您可以在元数据管理页面的数据表页签查看。

参数配置

字段描述

抽取任务名称

元数据抽取任务的名称,输入为中英文数字和(_)。

OSS路径

指定待抽取数据的OSS目录。

解析格式

支持json、csv、parquet、orc、hudi、delta、avro中某一类格式进行抽取,或采用自动识别模式会对数据文件自动解析。

目标数据库

抽取获取的元数据存储的元数据库位置。

  1. 开通Hologres服务并购买Hologres实例。具体操作,请参见购买Hologres
    若您是新用户可以申请免费试用Hologres为保证使用体验,免费试用请选择32C配置,若您没有免费试用规格,可以购买Hologres按量付费

image.png

步骤一:配置环境

  1. 在Hologres实例中开启数据湖加速功能。
    访问Hologres实例列表,单击目标实例操作列中的数据湖加速并确认,开启数据湖加速功能后,Hologres实例将重启。image.png
  2. 登录Hologres实例,创建数据库。具体操作,请参见连接HoloWeb

image.png

image.png

  1. (可选)创建Extension。本文以dlf_fdw为例。
    说明
    Hologres V2.1版本已默认创建,您无需进行此操作。您可以访问Hologres实例列表,在实例详情页面确认您的实例版本。
CREATE EXTENSION IF NOT EXISTS dlf_fdw;

说明

使用Superuser在SQL编辑器-HoloWeb中执行上述语句创建Extension,该操作针对整个DB生效,一个DB只需执行一次。关于Hologres账号授权详情,请参见授权服务账号

  1. SQL编辑器-HoloWeb,执行以下语句,创建dlf_server外部服务器并配置Endpoint信息,确保Hologres、DLF和OSS之间的正常访问。关于更多的创建方式和相关参数介绍详情,请参见创建外部服务器
--创建外部服务器,以上海reigon为例CREATE SERVER IF NOT EXISTS dlf_server FOREIGN data wrapper dlf_fdw options (    dlf_region 'cn-shanghai',    dlf_endpoint 'dlf-share.cn-shanghai.aliyuncs.com',    oss_endpoint 'oss-cn-shanghai-internal.aliyuncs.com');

步骤二:通过Hologres外部表查询OSS数据湖

Hologres外部表保存与OSS数据湖数据的映射关系,数据在OSS数据湖中存储,不占用Hologres存储空间,查询性能一般在秒级至分钟级。

  1. 创建Hologres外部表,并将OSS数据湖数据映射至Hologres外部表。
IMPORT FOREIGN SCHEMA mydatabase LIMIT TO ----本文以mydatabase为例,创建时需替换为您在DLF元数据管理中的自定义的数据库名称(  nation_orc,  supplier_orc,  partsupp_orc
)FROM SERVER dlf_server INTO public options (if_table_exist 'update');
  1. 数据查询。
    创建外部表成功后,可以直接查询外部表读取OSS中的数据。示例语句如下。
--TPCH Q11查询语句select        ps_partkey,        sum(ps_supplycost * ps_availqty)as value
from        partsupp_orc,        supplier_orc,        nation_orc
where        ps_suppkey = s_suppkey
and s_nationkey = n_nationkey
and RTRIM(n_name)='EGYPT'groupby        ps_partkey having                sum(ps_supplycost * ps_availqty)>(select                                sum(ps_supplycost * ps_availqty)*0.000001from                                partsupp_orc,                                supplier_orc,                                nation_orc
where                                ps_suppkey = s_suppkey
and s_nationkey = n_nationkey
and RTRIM(n_name)='EGYPT')orderby        value desc;


步骤三:通过Hologres内部表查询OSS数据湖

Hologres内部表查询是将OSS数据湖数据导入至Hologres中,数据将在Hologres中存储,可获得更好的查询性能和更高的数据处理能力。关于存储费用详情介绍,请参见计费概述

  1. 在Hologres中创建与外部表相同表结构的内部表,示例如下。
-- 创建nation表DROPTABLE IF EXISTS NATION;BEGIN;CREATETABLE NATION (    N_NATIONKEY intNOTNULL PRIMARY KEY,    N_NAME textNOTNULL,    N_REGIONKEY intNOTNULL,    N_COMMENT textNOTNULL);CALL set_table_property ('NATION','distribution_key','N_NATIONKEY');CALL set_table_property ('NATION','bitmap_columns','');CALL set_table_property ('NATION','dictionary_encoding_columns','');COMMIT;-- 创建supplier表DROPTABLE IF EXISTS SUPPLIER;BEGIN;CREATETABLE SUPPLIER (    S_SUPPKEY intNOTNULL PRIMARY KEY,    S_NAME textNOTNULL,    S_ADDRESS textNOTNULL,    S_NATIONKEY intNOTNULL,    S_PHONE textNOTNULL,    S_ACCTBAL DECIMAL(15,2)NOTNULL,    S_COMMENT textNOTNULL);CALL set_table_property ('SUPPLIER','distribution_key','S_SUPPKEY');CALL set_table_property ('SUPPLIER','bitmap_columns','S_NATIONKEY');CALL set_table_property ('SUPPLIER','dictionary_encoding_columns','');COMMIT;-- 创建partsupp表DROPTABLE IF EXISTS PARTSUPP;BEGIN;CREATETABLE PARTSUPP (    PS_PARTKEY intNOTNULL,    PS_SUPPKEY intNOTNULL,    PS_AVAILQTY intNOTNULL,    PS_SUPPLYCOST DECIMAL(15,2)NOTNULL,    PS_COMMENT textNOTNULL,    PRIMARY KEY (PS_PARTKEY, PS_SUPPKEY));CALL set_table_property ('PARTSUPP','distribution_key','PS_PARTKEY');CALL set_table_property ('PARTSUPP','bitmap_columns','ps_availqty');CALL set_table_property ('PARTSUPP','dictionary_encoding_columns','');COMMIT;
  1. 同步Hologres外部表数据至Hologres内部表。
---将Hologres外表数据导入内表INSERTINTO nation SELECT*FROM nation_orc;INSERTINTO supplier SELECT*FROM supplier_orc;INSERTINTO partsupp SELECT*FROM partsupp_orc;
  1. 查询Hologres内部表数据。
--TPCH Q11查询语句select        ps_partkey,        sum(ps_supplycost * ps_availqty)as value
from        partsupp,        supplier,        nation
where        ps_suppkey = s_suppkey
and s_nationkey = n_nationkey
and RTRIM(n_name)='EGYPT'groupby        ps_partkey having                sum(ps_supplycost * ps_availqty)>(select                                sum(ps_supplycost * ps_availqty)*0.000001from                                partsupp,                                supplier,                                nation
where                                ps_suppkey = s_suppkey
and s_nationkey = n_nationkey
and RTRIM(n_name)='EGYPT')orderby        value desc;

晒出结果:

一等奖、二等奖、参与奖:

内表查询或外表查询的运行日志截图晒出。

外表查询速度:

image.png


表查询速度:image.png

分享作品参与点赞排行

  • 请使用提交作品账号开通产品并参与挑战,后台会校验产品开通及SQL运行情况。
  • 请上传原创数据表及截图,若为抄袭则取消资格;若发现有刷赞行为,立即撤销作品,取消参赛资格。

挑战奖:

基于已有的外表和内表,分别运行2条同样的自定义SQL,附上外表SQL语句、运行日志、运行结果、内表SQL语句、运行日志、运行结果,6个部分合并1张截图上传

  • SQL需要涉及多表查询,单表SQL不支持参与挑战
  • 获奖名单按照作品提交时间排序
  • 为保证SQL原创性,同样SQL只取第一位
  • 挑战奖优先,不与一等奖、二等奖重复获取

挑战奖作品示例:

image.png

挑战奖:小米充电宝15个,非教程代码执行SQL,完成运行速度对比

一等奖:LAMY钢笔1个,作品点赞数位列第1名,且点赞数≥20个

二等奖:小米背包20个,作品点赞数位列第2-21名,且点赞数≥10个

参与奖:社区积分,每位参赛者可获得社区100积分

image.png

MaxCompute湖仓一体

数据仓库MaxCompute也可以基于本实验同一份OSS数据和DLF抽取的元数据进行 湖数据查询和湖数据入仓 等湖仓一体实践,模拟真实业务中高价值湖数据入仓进行处理加工、联合仓内数据建模等操作,具体请参考MaxCompute湖仓一体

MaxCompute 是企业级 SaaS 模式云数据仓库,以 Serverless 架构提供快速、全托管的在线数据仓库服务,消除了传统数据平台在资源扩展性和弹性方面的限制,最小化用户运维投入,使您可以经济并高效的分析处理海量数据。数以万计的企业正基于 MaxCompute 进行数据计算与分析,将数据高效转换为业务洞察。更多介绍请查看MaxCompute官网

image.png

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
相关文章
|
1月前
|
DataWorks 数据挖掘 关系型数据库
基于hologres搭建轻量OLAP分析平台解决方案评测
一文带你详细了解基于hologres搭建轻量OLAP分析平台解决方案的优与劣
112 8
|
2月前
|
数据可视化 数据挖掘 OLAP
基于 Hologres 搭建轻量 OLAP 分析平台评测报告
【9月更文第6天】开作为互联网手游公司的产品经理和项目经理,数据分析对于我们的业务至关重要。我们一直在寻找高效、可靠的数据分析解决方案,以更好地了解玩家行为、优化游戏体验和提升运营效率。近期,我们体验并部署了《基于 Hologres 搭建轻量 OLAP 分析平台》解决方案,以下是我们对该方案的评测报告。
81 12
基于 Hologres 搭建轻量 OLAP 分析平台评测报告
|
2月前
|
机器学习/深度学习 存储 数据挖掘
Hologres 与机器学习的融合:为实时分析添加预测性分析功能
【9月更文第1天】随着数据科学的发展,企业越来越依赖于从数据中获取洞察力来指导决策。传统的数据仓库主要用于存储和查询历史数据,而现代的数据仓库如 Hologres 不仅提供了高性能的查询能力,还能够支持实时数据分析。将 Hologres 与机器学习技术相结合,可以在实时数据流中引入预测性分析,为企业提供更深入的数据洞见。本文将探讨如何将 Hologres 与机器学习集成,以便实现实时的预测性分析。
82 4
|
2月前
|
存储 安全 网络安全
Hologres 的安全性和数据隐私保护
【9月更文第1天】随着数据量的不断增长和对数据价值的认识加深,数据安全和隐私保护成为了企业和组织不可忽视的重要议题。Hologres 作为一款高性能的实时数仓产品,在设计之初就将安全性置于核心地位。本文将深入探讨 Hologres 在保障数据安全和隐私方面的措施,包括数据加密、访问控制以及如何满足各类数据保护法规的要求。
55 3
|
2月前
|
SQL Java OLAP
Hologres 入门:实时分析数据库的新选择
【9月更文第1天】在大数据和实时计算领域,数据仓库和分析型数据库的需求日益增长。随着业务对数据实时性要求的提高,传统的批处理架构已经难以满足现代应用的需求。阿里云推出的 Hologres 就是为了解决这个问题而生的一款实时分析数据库。本文将带你深入了解 Hologres 的基本概念、优势,并通过示例代码展示如何使用 Hologres 进行数据处理。
285 2
|
2月前
|
消息中间件 Java 数据库连接
Hologres 数据导入与导出的最佳实践
【9月更文第1天】Hologres 是一款高性能的实时数仓服务,旨在提供快速的数据分析能力。无论是从外部数据源导入数据还是将数据导出至其他系统,都需要确保过程既高效又可靠。本文将详细介绍如何有效地导入数据到 Hologres 中,以及如何从 Hologres 导出数据。
85 1
|
3月前
|
OLAP
云端问道5期-基于Hologres轻量高性能OLAP分析陪跑班获奖名单公布啦!
云端问道5期-基于Hologres轻量高性能OLAP分析陪跑班获奖名单公布啦!
429 3
|
3月前
|
SQL 消息中间件 OLAP
OneSQL OLAP实践问题之实时数仓中数据的分层如何解决
OneSQL OLAP实践问题之实时数仓中数据的分层如何解决
52 1
|
3月前
|
SQL DataWorks 数据库连接
实时数仓 Hologres操作报错合集之如何将物理表数据写入临时表
实时数仓Hologres是阿里云推出的一款高性能、实时分析的数据库服务,专为大数据分析和复杂查询场景设计。使用Hologres,企业能够打破传统数据仓库的延迟瓶颈,实现数据到决策的无缝衔接,加速业务创新和响应速度。以下是Hologres产品的一些典型使用场景合集。
|
3月前
|
SQL DataWorks 安全
DataWorks产品使用合集之怎么将数据导入或写入到 Hologres
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。

热门文章

最新文章

相关产品

  • 实时数仓 Hologres