如何创建2024云栖Openlake测试项目和配置环境

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 2024年云栖大会,MaxCompute 多项重磅产品新功能邀测发布,新特性包括 支持OpenLake的湖仓一体2.0、Object Table支持SQL或MaxFrame处理非结构化数据、Delta Table增量表格式、基于增量物化视图的增量计算、MCQA2.0 SQL引擎查询加速等。其相关特性将在中国区 公共云 北京、上海、杭州、深圳Region 上线开放试用。本文以最佳实践的方式,帮助您创建MaxCompute和周边产品 在Openlake解决方案demo中需要准备的实例、项目和开发环境,并完成配置。欢迎您玩转云栖邀测demo,体验新功能。

简要说明

2024年云栖大会,MaxCompute 多项重磅产品新功能邀测发布,新特性包括 支持OpenLake的湖仓一体2.0、Object Table支持SQL或MaxFrame处理非结构化数据、Delta Table增量表格式、基于增量物化视图的增量计算、MCQA2.0 SQL引擎查询加速等。其相关特性将在中国区 公共云 北京、上海、杭州、深圳Region 上线开放试用。邀测注册入口
本文以最佳实践的方式,帮助您创建MaxCompute和周边产品 在Openlake解决方案demo中需要准备的实例、项目和开发环境,并完成配置。欢迎您玩转云栖邀测demo,体验新功能。
本文以深圳为例。

环境准备

创建DLF2.0 Catalog

登录 https://dlf-next.console.aliyun.com/cn-shenzhen/metadata
创建dlf2.0 catalog
image.png

创建完成
image.png

创建DW工作空间

登录 https://dataworks.console.aliyun.com/workspace/create?step=0&regionId=cn-shenzhen&fromPath=%2Fworkspace%2Flist
创建工作空间时注意打开“参加数据开发(DataStudio)(新版)公测”开关
image.png

完成后要求绑定MC计算资源

创建并绑定MC 外部项目,映射DLF2.0 Catalog

点击新建项目
image.png

选择外部项目,选择Openlake(DLF2)类型
新建外部数据源,并使用ExecuteWithUserAuth认证方式
外部数据源的 DLF EndPoint一定填经典网络地址,格式举例:dlfnext-share.cn-shenzhen.aliyuncs.com
映射刚创建的dlf catalog
image.png

外部项目创建完成
登录mc管控台查看 https://maxcompute.console.aliyun.com/cn-shenzhen/project-list
image.png

DW绑定MC计算资源
image.png

创建并绑定MC 内部项目

点击DW项目空间
image.png
在计算资源分页中点击绑定计算资源
image.png

创建云栖邀测内部项目

注意使用MC云栖邀测功能,需要从邀测入口进行region粒度的注册,注册入口
注册后,该用户可以在注册region的mc管控台创建项目,选择云栖邀测项目
image.png
或者在dw绑定计算资源 - 新建内部项目,选择云栖邀测项目
image.png

创建云栖邀测项目后在DW绑定
image.png

确认完成绑定
image.png

创建Holo实例和Database

Holo实例版本需要3.0.6或以上
image.png

新建数据库
image.png

注意开启数据湖加速
image.png

等待处理完成后,重启holo实例即可使用。

DW工作空间绑定Holo实例和Database

绑定holo的内部数据库
image.png

绑定数据目录
image.png

在Holo中建表
image.png

写入一条数据
image.png

创建MC External Schema映射Holo Database和Schema

登录mc管控台 租户管理 外部数据源 https://maxcompute.console.aliyun.com/cn-shenzhen/tenant-manage/external-data-source
创建映射Holo database的foreign server
名称 :openlake_demo_es2Holo_sz_fs
holo db:openlake_demo_sz_db
ramrole:acs:ram::uid:role/aliyunodpsHolorole
image.png

新增用户和用户授权,参考 https://help.aliyun.com/zh/maxcompute/user-guide/Hologres-foreign-tables?spm=a2c4g.11186623.0.0.ddd9324b8FfMwM#section-dcq-zfi-6no
image.png
image.png

创建完成
image.png

MC SQL创建外部Schema,映射Holo database.schema

CREATE EXTERNAL SCHEMA lakehouse_yunqi_demo_sz.openlake_demo_es2Holo
with  openlake_demo_es2Holo_sz_fs
ON 'public' ;

image.png

查看外部Schema属性
image.png

通过外部Schema查询Holo数据
image.png

创建Holo External Database映射DLF2.0 Catalog和MC Project

在sql编辑器或notebook中,执行Hologres sql
创建external database映射dlf catalog
其中dlf catalog是dlf catalog的id
image.png

DROP EXTERNAL DATABASE IF EXISTS openlake_demo_Holo;
COMMIT;
CREATE EXTERNAL DATABASE openlake_demo_Holo
WITH 
    metastore_type 'dlf-paimon'
    dlf_region 'cn-shenzhen' 
    dlf_endpoint 'dlfnext-pre.cn-shenzhen.aliyuncs.com' 
    dlf_catalog 'clg-paimon-90xxxxxxxxxxxxxxx84'
;
COMMIT;

创建external schema,即在dlf Catalog 中创建 dlf database

DROP EXTERNAL SCHEMA IF EXISTS openlake_demo_Holo.github_events;
CREATE EXTERNAL SCHEMA IF NOT EXISTS openlake_demo_Holo.github_events;
COMMIT;

创建paimon table 用于存放相关数据

DROP EXTERNAL TABLE IF EXISTS openlake_demo_Holo.github_events.ods_github_events_raw;
CREATE EXTERNAL TABLE openlake_demo_Holo.github_events.ods_github_events_raw
(
    col text,
    ds text
)
WITH (
  "changelog-producer"='none',
  "bucket"=6,
  "bucket-key"='ds'
);

创建external database映射mc project

DROP EXTERNAL DATABASE BIGDATA_PUBLIC_DATASET;
CREATE EXTERNAL DATABASE BIGDATA_PUBLIC_DATASET 
WITH 
  metastore_type 'maxcompute' 
  mc_project 'BIGDATA_PUBLIC_DATASET' ;
COMMIT;

从MC公共数据集向湖表写入数据

INSERT INTO openlake_demo_Holo.github_events.ods_github_events_raw
SELECT
    col,
    ds
FROM
    BIGDATA_PUBLIC_DATASET.github_events.ods_github_events_odps_string
WHERE
    ds = to_char(CURRENT_DATE, 'YYYY-MM-DD');

数据目录挂载MC Project

选择数据目录,点击添加项目,选择另一个外部项目或内部项目,点击批量添加
image.png

已经绑定的项目已经自动挂载
可以看到内部项目和外部项目的schema和表
holo的挂载方法相同

image.png

准备Notebook个人开发环境

使用Notebook需要购买通用资源组
image.png

启动后注意检查是否和工作空间绑定
image.png

完成个人开发环境实例创建
image.png

注意配置专有网络,要和holo在同一个vpc vsw和安全组下
image.png

完成创建后即可以使用。
image.png

注意notebook个人目录如果提示vsix扩展,请点击右键安装
image.png

创建OSS Bucket

登录 https://oss.console.aliyun.com/bucket
新建bucket object-table-bucket
image.png

新建目录
image.png

上传文件
image.png
请上传txt、pds、wav等非结构化数据

demo中解析的pdf样例demoday.pdf,以及其他非结构化文件样例 可以下载unstruct data.zip,解压并上传到object table映射的oss bucket 和路径ot_openlake 中

创建MC Object Table

在dw 新版数据开发新建目录和sql
image.png
image.png
image.png

创建object table ddl

--MaxCompute SQL

set odps.namespace.schema = true;
create object table lakehouse_yunqi_demo_sz.default.ot_openlake_demo 
with serdeproperties (
 'odps.properties.rolearn'='acs:ram::1xxxxxxxxxx9:role/aliyunodpsdefaultrole')
location 'oss://oss-cn-shenzhen-internal.aliyuncs.com/object-table-bucket/ot_openlake/';

上传MC资源并创建非结构化数据处理UDF

下载云栖版本cmd
http://odps.alibaba-inc.com/official_downloads/odpscmd/0.46.8/
下载资源
pdf_tools_cp37.tar.gz

binary_pdf2text.py

binary_pdf2png.py

放在odps_clt_release_64\bin目录下

use lakehouse_yunqi_demo_sz;

add py binary_pdf2png.py -f;
add py binary_pdf2text.py -f;
add archive pdf_tools_cp37.tar.gz -f;

create function pdf2png as binary_pdf2png.ExtractPDFPages using 'binary_pdf2png.py, pdf_tools_cp37.tar.gz' -f;
create function pdf2text as binary_pdf2text.ExtractPDFText using 'binary_pdf2text.py, pdf_tools_cp37.tar.gz' -f;

上传完成后可在数据目录中查看
image.png

开发

基于Openlake和Object table,MC使用SQL进行非结构化数据处理

MaxCompute将Openlake上的一个存了各种类型非结构化数据文件的OSS bucket path映射为一张Object Table,抽取非结构化数据元信息后缓存在Object Table的Metadata中。
使用MaxCompute SQL分析Object Table中各类文件的数量,按照文件类型大小排序,单独过滤某种类型的文件,并通过内置文件下载函数,读取非结构化数据内容转为MD5。
最后使用udf提取文本的非结构化数据处理函数,将结尾为demoday.pdf文件,提取内容到文本字段,提取信息与原始文件内容相同。

基于OpenLake和Object table的非结构化数据处理

湖仓融合:Maxcompute与Hologres基于OpenLake的湖上解决方案

基于github events数据,模拟了Hologres在Openlake湖上建Paimon表,将数据加载入ODS原始表;
使用MaxCompute MaxFrame对原始数据进行探查,看到内容是json格式的原始文件,不便于分析;
并使用MaxCompute SQL 读取原始Paimon表,将Json格式的github events记录,转化成结构化宽表,并写回Openlake的DWD表中。
Hologres基于DWD表和MaxCompute数仓中的维度表,关联生成ADS层的Dynamic Table。
对Dynamic Table进行多维度OLAP分析,统计了最近时期的github项目热度、人员活跃度、最近最频繁的操作情况,并使用漏斗函数进行行为转化分析。

基于OpenLake的湖仓批处理和分析方案

创建

相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
目录
相关文章
|
2月前
|
人工智能 测试技术 项目管理
测试不再碎片化:AI智能体平台「项目资料套件」功能上线!
在实际项目中,需求文档分散、整理费时、测试遗漏等问题常困扰测试工作。霍格沃兹推出AI智能体测试平台全新功能——项目资料套件,可将多个关联文档打包管理,并一键生成测试用例,提升测试完整性与效率。支持套件创建、文档关联、编辑删除及用例生成,适用于复杂项目、版本迭代等场景,助力实现智能化测试协作,让测试更高效、更专业。
|
2月前
|
Java 测试技术 数据安全/隐私保护
通过yaml文件配置自动化测试程序
通过yaml文件可以将自动化测试环境,测试数据和测试行为分开,请看一下案例
99 4
|
3月前
|
XML Ubuntu Java
如何在Ubuntu系统上安装和配置JMeter和Ant进行性能测试
进入包含 build.xml 的目录并执行:
196 13
|
2月前
|
测试技术 UED 开发者
性能测试报告-用于项目的性能验证、性能调优、发现性能缺陷等应用场景
性能测试报告用于评估系统性能、稳定性和安全性,涵盖测试环境、方法、指标分析及缺陷优化建议,是保障软件质量与用户体验的关键文档。
|
4月前
|
机器学习/深度学习 存储 算法
强化学习算法基准测试:6种算法在多智能体环境中的表现实测
本文系统研究了多智能体强化学习的算法性能与评估框架,选用井字棋和连珠四子作为基准环境,对比分析Q-learning、蒙特卡洛、Sarsa等表格方法在对抗场景中的表现。实验表明,表格方法在小规模状态空间(如井字棋)中可有效学习策略,但在大规模状态空间(如连珠四子)中因泛化能力不足而失效,揭示了向函数逼近技术演进的必要性。研究构建了标准化评估流程,明确了不同算法的适用边界,为理解强化学习的可扩展性问题提供了实证支持与理论参考。
233 0
强化学习算法基准测试:6种算法在多智能体环境中的表现实测
|
4月前
|
Java 测试技术 Spring
简单学Spring Boot | 博客项目的测试
本内容介绍了基于Spring Boot的博客项目测试实践,重点在于通过测试驱动开发(TDD)优化服务层代码,提升代码质量和功能可靠性。案例详细展示了如何为PostService类编写测试用例、运行测试并根据反馈优化功能代码,包括两次优化过程。通过TDD流程,确保每项功能经过严格验证,增强代码可维护性与系统稳定性。
231 0
|
6月前
|
监控 安全 测试技术
【01】卓伊凡收到冒充税务机关的诈骗程序-决定在沙盒Sandbox环境中运行测试下-广大企业同胞们注意防诈骗
【01】卓伊凡收到冒充税务机关的诈骗程序-决定在沙盒Sandbox环境中运行测试下-广大企业同胞们注意防诈骗
203 14
【01】卓伊凡收到冒充税务机关的诈骗程序-决定在沙盒Sandbox环境中运行测试下-广大企业同胞们注意防诈骗
|
4月前
|
人工智能 数据可视化 测试技术
UAT测试排程工具深度解析:让验收测试不再失控,项目稳稳上线
在系统交付节奏加快的背景下,“测试节奏混乱”已成为项目延期的主因之一。UAT测试排程工具应运而生,帮助团队结构化拆解任务、清晰分配责任、实时掌控进度,打通需求、测试、开发三方协作闭环,提升测试效率与质量。本文还盘点了2025年热门UAT工具,助力团队选型落地,告别靠表格和群聊推进测试的低效方式,实现有节奏、有章法的测试管理。
|
10月前
|
运维 关系型数据库 MySQL
os-copilot安装_配置_功能测试全集
我是一位中级运维工程师,我平时工作会涉及到 各类服务器的 数据库 与 java环境配置 操作。 我顺利使用了OS Copilot的 -t -f | 功能,我的疑惑是不能在自动操作过程中直接给与脚本运行权限,必须需要自己运行一下 chmod 这个既然有了最高的权限,为什么就不能直接给与运行权限呢。 我认为 -t 功能有用,能解决后台运行基础命令操作。 我认为 -f 功能有用,可以通过task文件中撰写连续任务操作。 我认为 | 对文件理解上有很直接的解读,可以在理解新程序上有很大帮助。
323 86
|
10月前
|
人工智能 Ubuntu Linux
os-copilot使用之全面配置与使用测试
作为一名个人开发者,我主要从事云服务器架设工作。近期,我成功使用了OS Copilot的 `-t -f |` 功能,解决了执行语句、连续提问及快速理解文件的问题。我发现这些功能非常实用,特别是在使用Workbench时能快速调用AI助手。此外,建议将AI功能与xShell工具联动,进一步提升效率。文中详细记录了购买服务器、远程连接、安装配置OS Copilot以及具体命令测试的过程,展示了如何通过快捷键和命令行操作实现高效开发。
377 67

热门文章

最新文章

下一篇
oss云网关配置