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

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务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的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
4天前
|
运维 关系型数据库 MySQL
os-copilot安装_配置_功能测试全集
我是一位中级运维工程师,我平时工作会涉及到 各类服务器的 数据库 与 java环境配置 操作。 我顺利使用了OS Copilot的 -t -f | 功能,我的疑惑是不能在自动操作过程中直接给与脚本运行权限,必须需要自己运行一下 chmod 这个既然有了最高的权限,为什么就不能直接给与运行权限呢。 我认为 -t 功能有用,能解决后台运行基础命令操作。 我认为 -f 功能有用,可以通过task文件中撰写连续任务操作。 我认为 | 对文件理解上有很直接的解读,可以在理解新程序上有很大帮助。
141 84
|
3天前
|
人工智能 Ubuntu Linux
os-copilot使用之全面配置与使用测试
作为一名个人开发者,我主要从事云服务器架设工作。近期,我成功使用了OS Copilot的 `-t -f |` 功能,解决了执行语句、连续提问及快速理解文件的问题。我发现这些功能非常实用,特别是在使用Workbench时能快速调用AI助手。此外,建议将AI功能与xShell工具联动,进一步提升效率。文中详细记录了购买服务器、远程连接、安装配置OS Copilot以及具体命令测试的过程,展示了如何通过快捷键和命令行操作实现高效开发。
100 66
|
5天前
|
Dart 前端开发 Android开发
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
|
1月前
|
域名解析 弹性计算 监控
slb测试基本配置检查
slb测试基本配置检查
105 60
|
2月前
|
机器学习/深度学习 人工智能 算法
BALROG:基准测试工具,用于评估 LLMs 和 VLMs 在复杂动态环境中的推理能力
BALROG 是一款用于评估大型语言模型(LLMs)和视觉语言模型(VLMs)在复杂动态环境中推理能力的基准测试工具。它通过一系列挑战性的游戏环境,如 NetHack,测试模型的规划、空间推理和探索能力。BALROG 提供了一个开放且细粒度的评估框架,推动了自主代理研究的进展。
59 3
BALROG:基准测试工具,用于评估 LLMs 和 VLMs 在复杂动态环境中的推理能力
|
1月前
|
监控 负载均衡 容灾
slb测试配置
slb测试配置
37 5
|
2月前
|
机器学习/深度学习 算法 UED
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法。本文介绍 A/B 测试的基本概念、步骤及其在模型评估、算法改进、特征选择和用户体验优化中的应用,同时提供 Python 实现示例,强调其在确保项目性能和用户体验方面的关键作用。
50 6
|
2月前
|
缓存 Ubuntu Linux
Linux环境下测试服务器的DDR5内存性能
通过使用 `memtester`和 `sysbench`等工具,可以有效地测试Linux环境下服务器的DDR5内存性能。这些工具不仅可以评估内存的读写速度,还可以检测内存中的潜在问题,帮助确保系统的稳定性和性能。通过合理配置和使用这些工具,系统管理员可以深入了解服务器内存的性能状况,为系统优化提供数据支持。
69 4
|
2月前
|
机器学习/深度学习 算法 UED
在数据驱动时代,A/B 测试成为评估机器学习项目效果的重要手段
在数据驱动时代,A/B 测试成为评估机器学习项目效果的重要手段。本文介绍了 A/B 测试的基本概念、步骤及其在模型评估、算法改进、特征选择和用户体验优化中的应用,强调了样本量、随机性和时间因素的重要性,并展示了 Python 在 A/B 测试中的具体应用实例。
40 1
|
2月前
|
安全 应用服务中间件 网络安全
如何测试Nginx反向代理实现SSL加密访问的配置是否正确?
如何测试Nginx反向代理实现SSL加密访问的配置是否正确?
127 3