【获奖名单公示】Hologres实时湖仓分析挑战赛

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

获奖名单公示:

以下为本次活动获奖名单,奖品将在春节后寄出,其他用户不符合参赛规则。

用户昵称 奖项
携手健康之路 挑战奖
闻天下 挑战奖
陌然浅笑-支 挑战奖
游客x7hkshkejsduy 挑战奖
五谷不分 挑战奖
6c5hhy6vxniui 挑战奖
长梦 挑战奖
不游泳的鱼鱼 挑战奖
打不哭 挑战奖
神秘海盗 挑战奖
zxlstart 一等奖
mayiyou 二等奖
zt123 二等奖
ccku 二等奖

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

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

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

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

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

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

image.png

准备工作

本文以上海地域为例开通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'
group by
        ps_partkey having
                sum(ps_supplycost * ps_availqty) > (
                        select
                                sum(ps_supplycost * ps_availqty) * 0.000001
                        from
                                partsupp_orc,
                                supplier_orc,
                                nation_orc
                        where
                                ps_suppkey = s_suppkey
                                and s_nationkey = n_nationkey
                                and RTRIM(n_name) = 'EGYPT'
                )
order by
        value desc;


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

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

  1. 在Hologres中创建与外部表相同表结构的内部表,示例如下。
-- 创建nation表
DROP TABLE IF EXISTS NATION;
BEGIN;
CREATE TABLE NATION (
    N_NATIONKEY int NOT NULL PRIMARY KEY,
    N_NAME text NOT NULL,
    N_REGIONKEY int NOT NULL,
    N_COMMENT text NOT NULL
);
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表
DROP TABLE IF EXISTS SUPPLIER;
BEGIN;
CREATE TABLE SUPPLIER (
    S_SUPPKEY int NOT NULL PRIMARY KEY,
    S_NAME text NOT NULL,
    S_ADDRESS text NOT NULL,
    S_NATIONKEY int NOT NULL,
    S_PHONE text NOT NULL,
    S_ACCTBAL DECIMAL(15, 2) NOT NULL,
    S_COMMENT text NOT NULL
);
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表
DROP TABLE IF EXISTS PARTSUPP;
BEGIN;
CREATE TABLE PARTSUPP (
    PS_PARTKEY int NOT NULL,
    PS_SUPPKEY int NOT NULL,
    PS_AVAILQTY int NOT NULL,
    PS_SUPPLYCOST DECIMAL(15, 2) NOT NULL,
    PS_COMMENT text NOT NULL,
    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外表数据导入内表
INSERT INTO nation SELECT * FROM nation_orc;
INSERT INTO supplier SELECT * FROM supplier_orc;
INSERT INTO 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'
group by
        ps_partkey having
                sum(ps_supplycost * ps_availqty) > (
                        select
                                sum(ps_supplycost * ps_availqty) * 0.000001
                        from
                                partsupp,
                                supplier,
                                nation
                        where
                                ps_suppkey = s_suppkey
                                and s_nationkey = n_nationkey
                                and RTRIM(n_name) = 'EGYPT'
                )
order by
        value desc;

晒出结果:

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

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

外表查询速度:

image.png


表查询速度: image.png

分享作品参与点赞排行

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

挑战奖:

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

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

挑战奖作品示例:

image.png


MaxCompute湖仓一体

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

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

image.png

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
相关文章
|
4天前
|
SQL 消息中间件 Kafka
Flink+Paimon+Hologres,面向未来的一体化实时湖仓平台架构设计
本文介绍了阿里云实时数仓Hologres负责人姜伟华在Flink Forward Asia 2024上的分享,涵盖实时数仓的发展历程、从实时数仓到实时湖仓的演进,以及总结。文章通过三代实时数仓架构的演变,详细解析了Lambda架构、Kafka实时数仓分层+OLAP、Hologres实时数仓分层复用等方案,并探讨了未来从实时数仓到实时湖仓的演进方向。最后,结合实际案例和Demo展示了Hologres + Flink + Paimon在实时湖仓中的应用,帮助用户根据业务需求选择合适的方案。
329 20
Flink+Paimon+Hologres,面向未来的一体化实时湖仓平台架构设计
|
1月前
|
存储 消息中间件 OLAP
Hologres+Flink企业级实时数仓核心能力介绍-2024实时数仓Hologres线上公开课03
本次分享由阿里云产品经理骆撷冬(观秋)主讲,主题为“Hologres+Flink企业级实时数仓核心能力”,是2024实时数仓Hologres线上公开课的第三期。课程详细介绍了Hologres与Flink结合搭建的企业级实时数仓的核心能力,包括解决实时数仓分层问题、基于Flink Catalog的Streaming Warehouse实践,并通过典型客户案例展示了其应用效果。
54 10
Hologres+Flink企业级实时数仓核心能力介绍-2024实时数仓Hologres线上公开课03
|
1月前
|
SQL 存储 JSON
实时数仓 Hologres 产品介绍:一体化实时湖仓平台
本次方案的主题是实时数仓 Hologres 产品介绍:一体化实时湖仓平台,介绍了 Hologres 湖仓存储一体,多模式计算一体、分析服务一体和 Data+AI 一体四方面一体化场景,并对其运维监控方面及客户案例进行一定讲解。 1. Hologres :面向未来的一体化实时湖仓 2. 运维监控 3. 客户案例 4. 总结
74 14
|
1月前
|
存储 SQL 运维
Hologres OLAP场景核心能力介绍-2024实时数仓Hologres线上公开课02
本次分享由Hologres产品经理赵红梅(梅酱)介绍Hologres在OLAP场景中的核心能力。内容涵盖OLAP场景的痛点、Hologres的核心优势及其解决方法,包括实时数仓分析、湖仓一体加速、丰富的索引和查询性能优化等。此外,还介绍了Hologres在兼容PG生态、支持多种BI工具以及高级企业级功能如计算组隔离和serverless computing等方面的优势。最后通过小红书和乐元素两个典型客户案例,展示了Hologres在实际应用中的显著效益,如运维成本降低、查询性能提升及成本节省等。
|
1月前
|
SQL 存储 运维
云端问道5期方案教学-基于 Hologres 轻量实时的高性能OLAP分析
本文介绍了基于Hologres的轻量实时高性能OLAP分析方案,涵盖OLAP典型应用场景及Hologres的核心能力。Hologres是阿里云的一站式实时数仓,支持多种数据源同步、多场景查询和丰富的生态工具。它解决了复杂OLAP场景中的技术栈复杂、需求响应慢、开发运维成本高、时效性差、生态兼容弱、业务间相互影响等难题。通过与ClickHouse对比,Hologres在性能、写入更新、主键支持等方面表现更优。文中还展示了小红书、乐元素等客户案例,验证了Hologres在实际应用中的优势,如免运维、查询快、成本节约等。
云端问道5期方案教学-基于 Hologres 轻量实时的高性能OLAP分析
|
1月前
|
DataWorks 关系型数据库 OLAP
云端问道5期实践教学-基于Hologres轻量实时的高性能OLAP分析
本文基于Hologres轻量实时的高性能OLAP分析实践,通过云起实验室进行实操。实验步骤包括创建VPC和交换机、开通Hologres实例、配置DataWorks、创建网关、设置数据源、创建实时同步任务等。最终实现MySQL数据实时同步到Hologres,并进行高效查询分析。实验手册详细指导每一步操作,确保顺利完成。
|
2月前
|
SQL 分布式计算 大数据
湖仓融合:MaxComputee与Hologres基于OpenLake的湖上解决方案
本次主题探讨湖仓融合:MaxCompute与Hologres基于OpenLake的湖上解决方案。首先从数据湖和数据仓库的历史及业界解决方案出发,分析湖仓融合的两种思路;接着针对国内问题,介绍阿里云如何通过MaxCompute和Hologres解决湖仓融合中的挑战,特别是在非结构化数据处理方面的能力。最后,重点讲解Object Table为湖仓增添了SQL生态的非结构化数据处理能力,提升数据处理效率和安全性,使用户能够在云端灵活处理各类数据。
|
2月前
|
SQL 存储 分布式计算
Hologres+Paimon构建一体化实时湖仓
Hologres 3.0全新升级,面向未来的一体化实时湖仓。它支持多种Table Format,提供湖仓存储、多模式计算、分析服务和Data+AI一体的能力。Hologres与Paimon结合,实现统一元数据管理、极速查询性能、增量消费及ETL功能。Dynamic Table支持流式、增量和全量三种刷新模式,满足不同业务需求,实现一份数据、一份SQL、一份计算的多模式刷新。该架构适用于高时效性要求的场景,也可用于成本敏感的数据共享场景。
|
2月前
|
DataWorks 数据挖掘 大数据
方案实践测评 | DataWorks集成Hologres构建一站式高性能的OLAP数据分析
DataWorks在任务开发便捷性、任务运行速度、产品使用门槛等方面都表现出色。在数据处理场景方面仍有改进和扩展的空间,通过引入更多的智能技术、扩展数据源支持、优化任务调度和可视化功能以及提升团队协作效率,DataWorks将能够为企业提供更全面、更高效的数据处理解决方案。
|
3月前
|
SQL 运维 网络安全
【实践】基于Hologres+Flink搭建GitHub实时数据查询
本文介绍了如何利用Flink和Hologres构建GitHub公开事件数据的实时数仓,并对接BI工具实现数据实时分析。流程包括创建VPC、Hologres、OSS、Flink实例,配置Hologres内部表,通过Flink实时写入数据至Hologres,查询实时数据,以及清理资源等步骤。

相关产品

  • 实时数仓 Hologres