本文为您介绍如何将同步至StarRocks的用户信息表ods_user_info_d_starrocks
及访问日志数据ods_raw_log_d_starrocks
,通过DataWorks的StarRocks节点加工得到目标用户画像数据,阅读本文后,您可以了解如何通过DataWorks+StarRocks产品组合来计算和分析已同步的数据,完成数仓简单数据加工场景。
前提条件
开始本实验前,请先完成同步数据中的操作。
步骤一:设计数据加工流程
在同步数据阶段,已经成功将数据同步至StarRocks,接下来的流程的目标是对数据进行进一步加工,以输出基本用户画像数据。
在Data Studio左侧导航栏单击
,然后在项目目录区域找到已创建好的工作流,单击进入工作流看板。
单击编辑工作流,在工作流开发页面,从左侧拖拽StarRocks节点至画布中,分别设置节点名称。
本教程节点名称示例及作用如下:
节点类型
节点名称
节点作用
节点类型
节点名称
节点作用
StarRocks
dwd_log_info_di_starrocks
使用内置函数,自定义函数等完成原始日志
ods_raw_log_d_starrocks
数据拆分写入dwd_log_info_di_starrocks
表多个字段。StarRocks
dws_user_info_all_di_starrocks
将用户基本信息(
ods_user_info_d_starrocks
)和初步加工后的日志数据(dwd_log_info_di_starrocks
)进行汇总,将数据写入dws_user_info_all_di_starrocks
表中。StarRocks
ads_user_info_1d_starrocks
对
dws_user_info_all_di_starrocks
表中数据进一步加工,将数据写入ads_user_info_1d_starrocks
表,产出基本用户画像。手动拖拽连线,配置各节点的上游节点。最终效果如下:
在顶部工具栏单击保存,保存工作流。
步骤二:注册函数
根据同步的实验日志数据结构,我们需要通过函数等方式将其拆解成表格。本案例已为您提供用于将IP解析为地域的函数所需资源,您仅需将其下载至本地,并将其注册至StarRocks数据库中即可。
本教程已为您提供用于将IP解析为地域的函数所需资源,您仅需将其下载至本地,并在DataWorks注册函数前,将函数涉及的资源上传至OSS对象存储即可。
该函数仅为本教程使用(IP资源样例),若需在正式业务中实现IP到地理位置的映射功能,需前往专业IP网站获取相关IP转换服务。
上传资源(ip2region-starrocks.jar)
ip2region-starrocks.jar
资源样例仅为教程使用。上传资源至OSS。
登录对象存储OSS控制台,进入准备环境阶段创建的OSS Bucket路径下创建
dataworks_starrocks
目录。上传
ip2region-starrocks.jar
资源至dataworks_starrocks
目录下。本案例的资源存储完整路径为:
https://test.oss-cn-shanghai-internal.aliyuncs.com/dataworks_starrocks/ip2region-starrocks.jar
,您可参考该路径格式获得您上传的OSS资源存储路径。本案例Bucket为test。
自定义函数所在的Bucket网络地址使用ECS的经典网络访问(内网)地址。
使用内网地址时需要OSS Bucket地域和DataWorks工作空间所在地域相同,本案例均在华东2(上海)地域。
注册函数(getregion)
新建注册函数节点。
在Data Studio左侧导航栏单击
,然后在项目目录区域单击
按钮,选择 新建一个StarRocks节点。
编辑并注册函数。
注册函数。
CREATE FUNCTION getregion(string) RETURNS string PROPERTIES ( "symbol" = "com.starrocks.udf.sample.Ip2Region", "type" = "StarrocksJar", "file" = "此处请替换文件存储在oss的完整路径,文件路径获取请参见上传资源" );
确认函数是否注册成功。
SELECT getregion('您本机ip');
函数在生产环境和开发环境仅能进行一次注册,注册函数的StarRocks节点需发布至生产环境在生产环境注册函数。
在顶部工具栏单击保存,然后单击发布,根据发布面板提示,将函数注册任务发布至开发环境和生产环境对应的StarRocks中,并对该任务进行补数据,在生产环境注册函数。函数注册完成后,需在运维中心手动冻结生产环境中的注册函数任务,避免重复注册导致任务执行失败。
步骤三:配置StarRocks节点
数据加工需要将每层加工逻辑通过StarRocks调度实现,本案例已提供完整的数据加工SQL示例代码,您需要依次为dwd_log_info_di_starrocks
、dws_user_info_all_di_starrocks
和ads_user_info_1d_starrocks
节点配置。
配置dwd_log_info_di_starrocks节点
在本节点的示例代码中,利用创建的函数处理上游表ods_raw_log_d_starrocks
字段的SQL代码,并将其写入dwd_log_info_di_starrocks
表中。
在Workflow画布中,鼠标悬停至
dwd_log_info_di_starrocks
节点上,单击打开节点。在节点编辑页面的选择数据源处选择准备环境阶段准备的StarRocks计算资源。
将如下代码粘贴至SQL编辑页面。
dwd_log_info_di_starrocks
节点的示例代码中,利用创建的函数处理上游表ods_raw_log_d_starrocks
字段的SQL代码,并将其写入dwd_log_info_di_starrocks
表中。配置调试参数。
在StarRocks编辑页面右侧单击调试配置,配置以下参数,用于在步骤四调试运行中使用调试配置的相关参数测试运行。
(可选)配置调度属性。
本教程调度配置相关参数保持默认即可,您可以在离线同步任务配置页面右侧单击调度配置,确认如下关键参数取值是否与本教程一致。调度配置中其他参数的详细说明,详情可参见调度配置。
调度参数:本教程已在工作流调度参数中统一配置,工作流内部节点无需配置,在任务或代码中可直接使用。
调度策略:您可以在延时执行时间参数中指定子节点在工作流执行后,延迟多久再执行,本教程不设置。
在顶部工具栏单击保存,保存当前节点。
配置dws_user_info_all_di_starrocks节点
本节点对用户基本信息表(ods_user_info_d_starrocks
)和初步加工后的日志数据表(dwd_log_info_di_starrocks
)进行汇总,将数据写入dws_user_info_all_di_starrocks
表中。
在Workflow画布中,鼠标悬停至
dws_user_info_all_di_starrocks
节点上,单击打开节点。在节点编辑页面的选择数据源处选择准备环境阶段准备的StarRocks计算资源。
将如下代码粘贴至SQL编辑页面。
dws_user_info_all_di_starrocks
节点的编辑页面,编写合并上游表dwd_log_info_di_starrocks
和ods_user_info_d_starrocks
的SQL代码,写入dws_user_info_all_di_starrocks
表中。配置调试参数。
在StarRocks编辑页面右侧单击调试配置,配置以下参数,用于在步骤四调试运行中使用调试配置的相关参数测试运行。
(可选)配置调度属性。
本教程调度配置相关参数保持默认即可,您可以在离线同步任务配置页面右侧单击调度配置,确认如下关键参数取值是否与本教程一致。调度配置中其他参数的详细说明,详情可参见调度配置。
调度参数:本教程已在工作流调度参数中统一配置,工作流内部节点无需配置,在任务或代码中可直接使用。
调度策略:您可以在延时执行时间参数中指定子节点在工作流执行后,延迟多久再执行,本教程不设置。
在顶部工具栏单击保存,保存当前节点。
配置ads_user_info_1d_starrocks节点
本节点对dws_user_info_all_di_starrocks
表中数据进一步加工,将数据写入ads_user_info_1d_starrocks
表,产出基本用户画像。
在Workflow画布中,鼠标悬停至
ads_user_info_1d_starrocks
节点上,单击打开节点。在节点编辑页面的选择数据源处选择准备环境阶段准备的StarRocks计算资源。
将如下代码粘贴至SQL编辑页面。
配置调试参数。
在StarRocks编辑页面右侧单击调试配置,配置以下参数,用于在步骤四调试运行中使用调试配置的相关参数测试运行。
(可选)配置调度属性。
本教程调度配置相关参数保持默认即可,您可以在离线同步任务配置页面右侧单击调度配置,确认如下关键参数取值是否与本教程一致。调度配置中其他参数的详细说明,详情可参见调度配置。
调度参数:本教程已在工作流调度参数中统一配置,工作流内部节点无需配置,在任务或代码中可直接使用。
调度策略:您可以在延时执行时间参数中指定子节点在工作流执行后,延迟多久再执行,本教程不设置。
在顶部工具栏单击保存,保存当前节点。
步骤四:加工数据
同步数据。
在Workflow画布顶部工具栏中,单击运行,设置各节点定义的参数变量在本次运行中的取值(本教程使用
20250223
,您可以按需修改),单击确定后,等待运行完成。查询结果。
进入SQL查询页面。
登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的 ,单击进入数据分析页面,单击左侧导航栏的SQL查询进入SQL查询页面。
配置SQL查询文件。
单击我的文件后的
按钮新建文件,自定义SQL查询文件名。
单击已新建的文件,进入文件编辑页面。
在文件编辑页面单击右上角的
按钮,配置需进行SQL查询的工作空间等信息,配置详情如下:
配置项
说明
配置项
说明
工作空间
选择
user_profile_analysis_starrocks
工作流所在的工作空间。数据源类型
下拉选择
StarRocks
。数据源名称
选择在准备环境时绑定的Starrocks开发环境。
单击确认按钮,完成查询数据源的配置。
编辑查询SQL。
在确保该章节内的所有节点运行成功的情况下,编写以下SQL查询以检查StarRocks节点创建的外部表是否正常产出。
--查询语句中的分区列需要更新为业务日期。例如,任务运行的日期为20250223,则业务日期为20250222,即任务运行日期的前一天。 SELECT * FROM ads_user_info_1d_starrocks WHERE dt=业务日期;
步骤五:发布工作流
任务需要发布至生产环境后才可自动调度运行,您可以参考如下步骤,将工作流发布至生产环境。
本教程已在工作流调度配置中统一配置了调度参数,发布前无需再为每个节点单独配置调度参数。
在Data Studio左侧导航栏单击
,然后在项目目录区域找到已创建好的工作流,单击进入工作流看板。
单击页面顶部工具栏中的发布,打开发布面板。
单击开始发布生产,根据发布流程引导,完成发布。
步骤六:在生产环境运行任务
任务发布后,在次日才会生成实例运行,您可以通过补数据来对已发布流程进行补数据操作,以便查看任务在生产环境是否可以运行,详情可参见执行补数据并查看补数据实例(新版)。
任务发布成功后,单击右上角的运维中心。
您也可以单击左上方的
图标,选择 。
单击左侧导航栏中的
,进入周期任务页面,单击workshop_start_starrocks
虚拟节点。在右侧的DAG图中,右键单击
workshop_start_starrocks
节点,选择 。勾选需要补数据的任务,设置业务日期,单击提交并跳转。
在补数据页面单击刷新,直至SQL任务全部运行成功即可。
后续步骤
- 本页导读 (1)
- 前提条件
- 步骤一:设计数据加工流程
- 步骤二:注册函数
- 上传资源(ip2region-starrocks.jar)
- 注册函数(getregion)
- 步骤三:配置StarRocks节点
- 配置dwd_log_info_di_starrocks节点
- 配置dws_user_info_all_di_starrocks节点
- 配置ads_user_info_1d_starrocks节点
- 步骤四:加工数据
- 步骤五:发布工作流
- 步骤六:在生产环境运行任务
- 后续步骤