如何创建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 
目录
相关文章
|
22天前
|
测试技术
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目
本文介绍了如何使用Pytest和Allure生成自动化测试报告。通过安装allure-pytest和配置环境,可以生成包含用例描述、步骤、等级等详细信息的美观报告。文章还提供了代码示例和运行指南,以及重构项目时的注意事项。
100 1
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目
|
3天前
|
Web App开发 定位技术 iOS开发
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
9 1
|
4天前
|
编解码 安全 Linux
网络空间安全之一个WH的超前沿全栈技术深入学习之路(10-2):保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali——Liinux-Debian:就怕你学成黑客啦!)作者——LJS
保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali以及常见的报错及对应解决方案、常用Kali功能简便化以及详解如何具体实现
|
22天前
|
测试技术 Python
自动化测试项目学习笔记(四):Pytest介绍和使用
本文是关于自动化测试框架Pytest的介绍和使用。Pytest是一个功能丰富的Python测试工具,支持参数化、多种测试类型,并拥有众多第三方插件。文章讲解了Pytest的编写规则、命令行参数、执行测试、参数化处理以及如何使用fixture实现测试用例间的调用。此外,还提供了pytest.ini配置文件示例。
19 2
|
2月前
|
JavaScript 测试技术 Windows
vue配置webpack生产环境.env.production、测试环境.env.development(配置不同环境的打包访问地址)
本文介绍了如何使用vue-cli和webpack为Vue项目配置不同的生产和测试环境,包括修改`package.json`脚本、使用`cross-env`处理环境变量、创建不同环境的`.env`文件,并在`webpack.prod.conf.js`中使用`DefinePlugin`来应用这些环境变量。
70 2
vue配置webpack生产环境.env.production、测试环境.env.development(配置不同环境的打包访问地址)
|
21天前
|
分布式计算 Hadoop 大数据
大数据体系知识学习(一):PySpark和Hadoop环境的搭建与测试
这篇文章是关于大数据体系知识学习的,主要介绍了Apache Spark的基本概念、特点、组件,以及如何安装配置Java、PySpark和Hadoop环境。文章还提供了详细的安装步骤和测试代码,帮助读者搭建和测试大数据环境。
39 1
|
22天前
|
测试技术 Python
自动化测试项目学习笔记(二):学习各种setup、tearDown、断言方法
本文主要介绍了自动化测试中setup、teardown、断言方法的使用,以及unittest框架中setUp、tearDown、setUpClass和tearDownClass的区别和应用。
43 0
自动化测试项目学习笔记(二):学习各种setup、tearDown、断言方法
|
26天前
|
分布式计算 Hadoop Shell
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
54 4
|
25天前
|
运维 监控 数据可视化
大数据-171 Elasticsearch ES-Head 与 Kibana 配置 使用 测试
大数据-171 Elasticsearch ES-Head 与 Kibana 配置 使用 测试
47 1
|
27天前
|
存储 数据采集 分布式计算
Hadoop-17 Flume 介绍与环境配置 实机云服务器测试 分布式日志信息收集 海量数据 实时采集引擎 Source Channel Sink 串行复制负载均衡
Hadoop-17 Flume 介绍与环境配置 实机云服务器测试 分布式日志信息收集 海量数据 实时采集引擎 Source Channel Sink 串行复制负载均衡
36 1