DataWorks 基本操作演示 |
您所在的位置:网站首页 › owaspzap使用教程 › DataWorks 基本操作演示 |
开发者学堂课程【DataWorks 使用教程:DataWorks 基本操作演示】学习笔记,与课程紧密联系,让用户快速学习知识。 课程地址:https://developer.aliyun.com/learning/course/107/detail/1866 DataWorks 基本操作演示内容简介: 一、开发流程 二、创建工作空间 三、新建 OSS 数据源 四、新建 RDS 数据源 五、创建业务流程 六、配置 workshop_start 节点 七、新建表 八、配置离线同步节点 九、提交业务流程 十、运行业务流程 十一、确认数据是否成功导入 MaxCompute 十二、配置 ODPS SQL 节点 十三、业务流程 十四、配置数据质量监控 十五、数据可视化展现 十六、通过向导模式生成 API 一、开发流程Workshop 教程涉及的具体开发流程如下: 1. 环境准备: 准备操作过程中需要的 MaxCompute、DataWorks 等环境。详情请参见准备环境。 2. 数据采集: 学习如何从不同的数据源同步数据至 MaxCompute 中、如何快速触发任务运行、如何查看任务日志等。详情请参见采集数据。 3. 数据加工: 学习如何运行数据流程图、如何新建数据表、如何新建数据流程任务节点、如何配置任务的周期调度属性。详情请参见加工数据。 4. 数据质量监控: 学习如何给任务配置数据质量的监控规则,以保证任务运行的质量问题。详情请参见配置数据质量监控。 5. 数据可视化展现: 学习如何通 过 Quick BI 创建网站用户分析画像的仪表板,实现所需数据的可视化展现。详情请参见数据可视化展现。 6. 通过 Function Studio 开发 UDF: 学习如何通过 Function Studio 开发 UDF,并将其提交至 DataStudio 的开发环境。 二、创建工作空间 1.使用主账号登录 DataWorks 控制台。 2.在概览页面,单击右侧的快速入口>创建工作空间。 您也可以单击左侧导航栏中的工作空间列表,切换至相应的区域后,单击创建工作空间。 3.配置创建工作空间对话框中的基本配置,单击下—步。 4.进入选择引擎界面,勾选 MaxCompute 引擎后,单击下—步。 DataWorks 已正式商用,如果该区域没有开通,需要首先开通正式商用的服务。 默认选中数据集成、数据开发、运维中心和数据质量。 5.进入引擎详情页面,配置选购引擎的参数。 实例显示名称: 实例显示名称不能超过 27 个字符,仅支持字母开头,仅包含字母、数字和下划线(_)。 Quota 组切换: Quota 用于实现计算资源和磁盘配额。 Maxcompute 数据类型: 该选项设置后,将在 5 分钟内生效。详情请参见数据类型版本说明。 Maxcompute 项目名称: 默认与 DataWorks 工作空间的名称—致。 Maxcompute 访问身份: 包括阿里云主账号和任务负责人。 6.配置完成后,单击创建工作空间。 工作空间创建成功后,即可在工作空问列表页面查看相应内容。 三、新建 OSS 数据源 1.进入数据源管理页面。 i.登录 DataWorks 控制台。 ii.在左侧导航栏,单击工作空间列表。 iii.单击相应工作空间后的进入数据集成。 如果您已在 DataWorks 的某个功能模块,请单击左上方的目图标,选择全部产品>数据汇聚>数据集成,进入数据集成页面。 iv.在左侧导航栏,单击数据源,进入工作空间管理>数据源管理页面。 2.在数据源管理页面,单击右上方的新增数据源。 3.在新增数据源对话框中,选择数据源类型为 OSS。 4.在新增OSS数据源对话框,配置各项参数。 数据源名称:输入 oss_workshop_log。 数据源描述:对数据源进行简单描述。 适用环境:勾选开发。 说明:开发环境的数据源创建完成后,需要勾选生产,以同样方式创建生产环境的数据源,否则任务生产执行会报错。 Endpoint:输入 http://loss-cn-shanghai-internal.aliyuncs.com . Bucket:输入 new-dataworks-workshop. AccessKey ID:输入 LTAl4FvGT3iU4xjKotpUMAjs. AccessKey Secret:输入 9RSUoRmNxpRC9EhC4m9PjuG7Jzy7px. 5.在资源组列表,单击相应资源组后的测试连通性。 数据同步时,一个任务只能使用—种资源组。您需要测试每种资源组的连通性,以保证同步任务使用的数据集成资源组能够与数据源连通,否则将无法正常执行数据同步任务。 如果您需要同时测试多种资源组,请选中相应资源组后,单击批量测试连通性。详情请参见选择网络连通方案。 1. 连通性测试通过后,单击完成。 四、新建 RDS 数据源1.单击当前页面左上角图标,选择全部产品数据汇聚>数据集成。 2.在左侧导航栏,单击数据源>数据源列表,进入工作空间管理>数据源管理页面。 3.在数据源管理页面,单击右上方的新增数据源。 4.在新增数据源对话框中,选择数据源类型为 My SQL 5.在新增 MySQL 数据源对话框中,配置各项参数。 数据源类型:选择阿里云实例模式。 数据源名称:输入 rds_workshop_log. 数据源描述:输入 RDS 日志数据同步。 适用环境:勾选开发。 说明:开发环境的数据源创建完成后,需要勾选生产,以同样方式创建生产环境的数据源,否则任务生产执行会报错。 地区:选择 RDS 实例所在的区域。 RDS 实例 ID:输入 rm-bp1z69dodhh85z9qa. RDS 实例主账号 ID:输入 1156529087455811。 数据库名:输入 workshop. 用户名:输入 workshop. 密码:输入 workshop#2017。 6.在资源组列表,单击相应资源组后的测试连通性。 数据同步时,一个任务只能使用—种资源组。 您需要测试每种资源组的连通性,以保证同步任务使用的数据集成资源组能够与数据源连通,否则将无法正常执行数据同步任务。 如果您需要同时测试多种资源组,请选中相应资源组后,单击批量测试连通性。详情请参见选择网络连通方案。 7.测试连通性通过后,单击完成。 五、创建业务流程 1.单击当前页面左上方的图标,选择全部产品>数据开发> DataStudio(数据开发)。 2.在数据开发面板,右键单击业务流程,选择新建业务流程。 3.在新建业务流程对话框中,输入业务名称和描述。 注意:业务名称不能超过 128 个字符,且必须是大小写字母、中文、数字、下划线(_)以及小数点(.)。 4.单击新建。 5.进入业务流程开发面板,鼠标单击虚拟节点并拖拽至右侧的编辑页面。 6.在新建节点对话框中,输入节点名称为 workshop_start,单击提交。 以同样的方式新建两个离线同步节点,节点名称分别为 oss 数据同步和 rds 数据同步。 7.通过拖拽连线,将 workshop_start 节点设置为两个离线同步节点的上游节点。 1. 在数据开发页面,双击相应业务流程下的虚拟节点。打开该节点的编辑页面,单击右侧的调度配置。 2. 在调度依赖区域,单击使用工作空间根节点,设置 workshop_start 节点的上游节点为工作空间根节点。 由于新版本给每个节点都设置了输入输出节点,所以需要给 workshop_start 节点设置一个输入。此处设置其上游节点为工作空间根节点,通常命名为工作空间名称_root 1. 在数据开发页面打开新建的业务流程,右键单击 MaxCompute,选择新建>表。
2.在新建表对话框中,输入表名,单击提交。 此处需要创建两张表 (ods_raw_log_d和ods_user_info_d),分别存储同步过来的OSS 日志数据和 RDS 日志数据。 注意:表名必须以字母开头,不能包含中文或特殊字符,且不能超过 64 个字符。 3.通过 DDL 模式新建表。 新建 ods_raw_log_d 表。 在表的编辑页面单击 DDL 模式,输入下述建表语句。 --创建 OSS 日志对应目标表 CREATE TABLE IF NOT EXISTS ods_raw_log_d ( col STRING ) PARTITIONED BY ( dt STRING ); 新建 ods_user_info_d 表。 在表的编辑页面单击 DDL 模式,输入下述建表语句。 --创建 RDS 对应目标表 CREATE TABLE IF NOT EXISTS ods_user_info_d ( uid STRING COMMENT '用户ID', gender STRING COMMENT '性别', age_range STRING COMMENT '年龄段', zodiac STRING COMMENT '星座' ) PARTITIONED BY ( dt STRING ); 4.单击生成表结构,并确认覆盖当前操作。 5.返回建表页面,在基本属性中输入表的中文名。 6.完成设置后,分别单击提交到开发环境和提交到生产环境。 八、配置离线同步节点 1.配置 oss_ 数据同步节点。 (1)在数据开发页面,双击 oss_ 数据同步节点,进入节点配置页面。 (2)选择数据来源。 数据源:选择 Oss > oss_workshop_log 数据源。 Object前缀:输入 OSS 文件夹的路径,请勿填写 Bucket 的名称。示例为user_log.txt。 文本类型:选择 text 类型。 列分隔符输入列分隔符为 |。 编码格式:默认为 UTF-8 格式。 null 值:表示 null 值的字符串。 压缩格式:包括 None、Gzip、Bzip2 和 Zip 四种类型,此处选择 None。 是否包含表头:默认为 No。 (3)选择数据去向。 数据源:选择 ODPS > odps_first 数据源。 表:选择数据源中的 ods_raw_log_d 表。 分区信息:默认配置为$ {bizdate}. 清理规则:默认为写入前清理已有数据。 空字符串作为 null:此处勾选否。 (4)配置字段映射。 (5)配置通道控制。 (6)单击页面右侧的调度配置,在调度依赖>本节点的输出区域,输入本节点的输出名称为工作空间名称 . ods_raw_log_d。 (7)确认当前节点的配置无误。 (8)关闭当前任务,返回业务流程配置面板。 2.配置 rds_ 数据同步节点。 (1)在数据开发页面,双击 rds_ 数据同步节点,进入节点配置页面。 (2)选择数据来源。 (3)选择数据去向。 (4)配置字段映射。 (5)配置通道控制。 (6)单击页面右侧的调度配置,在调度依赖>本节点的输出区域,输入本节点的输出名称为工作空间名称 .ods_user_info_d。 添加成功后,您可以删除不规范的输出名称。 (7)确认当前节点的配置无误。 (8)关闭当前任务,返回业务流程配置面板。 九、提交业务流程 1. 在数据开发页面,双击相应的业务流程打开编辑页面。 2.选择提交对话框中需要提交的节点,输入备注,勾选忽略输入输出不一致的告警。 3.单击提交,待显示提交成功即可。 十、运行业务流程 1. 在数据开发页面,双击相应的业务流程打开编辑页面。 2.右键单击 rds_ 数据同步节点,选择查看日志。 当日志中出现如下字样,表示同步节点运行成功,并成功同步数据。 2.右键单击 rds_ 数据同步节点,选择查看日志。 当日志中出现如下字样,表示同步节点运行成功,并成功同步数据。 1.在数据开发页面的左侧导航栏,单击临时查询,进入临时查询面板。 2.右键单击临时查询,选择新建节点 >ODPS SQL。 3.编写并执行 SQL 语句,查看导入 ods_raw_log_d和ods_user_info_d 的记录数。 设计业务流程: 业务流程节点间依赖关系的配置请参见采集数据。 双击新建的业务流程打开编辑页面,鼠标单击 ODPS SQL 并拖拽至右侧的编辑页面。在新建节点对话相中,输入节点名称,单击提交。 此处需要新建三个 ODPS SQL 节点,依次命名为 ods_log_info_d、 dw_user_info_all_d 和 rpt_user_info_d,并配置如下图所示的依赖关系。 创建用户自定义函数 1.新建资源。 (1)下载 ip2region.jar. (2)在数据开发页面打开业务流程,右键单击 MaxCompute,选择新建>资源>JAR。 (3)在新建资源对话框中,输入资源名称,并选择目标文件夹。 (4)单击点击上传,选择已经下载至本地的 ip2region.jar,单击打开。 (5)单击确定。 (6)单击工具栏中的图标。 2.注册函数。 (1)在数据开发页面打开业务流程,右键单击 MaxCompute,选择新建>函数。 (2)在新建函数对话框中,输入函数名称(示例为 getregion),单击提交。 (3)在注册函数对话框中,配置各项参数。 1.配置 ods_log_info_d 节点。 (1)双击 ods_log_info_d 节点,进入节点配置页面。 (2)在节点编辑页面,编写如下SQL语句。 INSERT OVERWRITE TABLE ods_log_info_d PARTITION (dt=${bdp.system.bizdate}) SELECT ip , uid , time , status , bytes , getregion(ip) AS region --使用自定义UDF通过IP得到地域。 , regexp_substr(request, '(^[^ ]+ )') AS method --通过正则把request差分为3个字段。 , regexp_extract(request, '^[^ ]+ (.*) [^ ]+$') AS url , regexp_substr(request, '([^ ]+$)') AS protocol , regexp_extract(referer, '^[^/]+://([^/]+){1}') AS referer --通过正则清晰refer,得到更精准的URL。 , CASE WHEN TOLOWER(agent) RLIKE 'android' THEN 'android' --通过agent得到终端信息和访问形式。 WHEN TOLOWER(agent) RLIKE 'iphone' THEN 'iphone' WHEN TOLOWER(agent) RLIKE 'ipad' THEN 'ipad' WHEN TOLOWER(agent) RLIKE 'macintosh' THEN 'macintosh' WHEN TOLOWER(agent) RLIKE 'windows phone' THEN 'windows_phone' WHEN TOLOWER(agent) RLIKE 'windows' THEN 'windows_pc' ELSE 'unknown' END AS device , CASE WHEN TOLOWER(agent) RLIKE '(bot|spider|crawler|slurp)' THEN 'crawler' WHEN TOLOWER(agent) RLIKE 'feed' OR regexp_extract(request, '^[^ ]+ (.*) [^ ]+$') RLIKE 'feed' THEN 'feed' WHEN TOLOWER(agent) NOT RLIKE '(bot|spider|crawler|feed|slurp)' AND agent RLIKE '^[Mozilla|Opera]' AND regexp_extract(request, '^[^ ]+ (.*) [^ ]+$') NOT RLIKE 'feed' THEN 'user' ELSE 'unknown' END AS identity FROM ( SELECT SPLIT(col, '##@@')[0] AS ip , SPLIT(col, '##@@')[1] AS uid , SPLIT(col, '##@@')[2] AS time , SPLIT(col, '##@@')[3] AS request , SPLIT(col, '##@@')[4] AS status , SPLIT(col, '##@@')[5] AS bytes , SPLIT(col, '##@@')[6] AS referer , SPLIT(col, '##@@')[7] AS agent FROM ods_raw_log_d WHERE dt = ${bdp.system.bizdate} ) a;
2.配置 dw_user_info_all_d 节点。 (1)双击 dw_user_info_all_d 节点,进入节点配置页面。 (2)在节点编辑页面,编写如下 SQL 语句。 INSERT OVERWRITE TABLE dw_user_info_all_d PARTITION (dt='${bdp.system.bizdate}') SELECT COALESCE(a.uid, b.uid) AS uid , b.gender , b.age_range , b.zodiac , a.region , a.device , a.identity , a.method , a.url , a.referer , a.time FROM ( SELECT * FROM ods_log_info_d WHERE dt = ${bdp.system.bizdate} ) a LEFT OUTER JOIN ( SELECT * FROM ods_user_info_d WHERE dt = ${bdp.system.bizdate} ) b ON a.uid = b.uid;
3.配置 rpt_user_info_d 节点。 (1)双击 rpt_user_info_d 节点,进入节点配置页面。 (2)在节点编辑页面,编写如下 SQL 语句。 INSERT OVERWRITE TABLE rpt_user_info_d PARTITION (dt='${bdp.system.bizdate}') SELECT uid , MAX(region) , MAX(device) , COUNT(0) AS pv , MAX(gender) , MAX(age_range) , MAX(zodiac) FROM dw_user_info_all_d WHERE dt = ${bdp.system.bizdate} GROUP BY uid; 十三、业务流程 1、提交业务流程 (1)在业务流程的编辑页面,单击国图标,提交业务流程中已配置完成的节点。 (2)在提交对话框中,选择需要提交的节点,选中忽略输入输出不—致的告警。 (3)单击提交。
2、运行业务流程 (1)在业务流程的编辑页面,验证代码逻辑。 (2)待所有任务运行完成显示绿色箭头后,在左侧导航栏,单击临时查询。 (3)在临时查询面板,右键单击临时查询,选择新建节点 >ODPS SQL。 (4)编写并执行SQL语句,查询任务运行结果,确认数据产出。
3、发布业务流程 提交业务流程后,表示任务已进入开发环境。由于开发环境的任务不会自动调度,您需要发布配置完成的任务至生产环境。 (1)在业务流程的编辑页面,进入发布页面。 (2)选择待发布任务,单击添加到待发布。 (3)单击右上角的待发布列表,进入列表后,单击全部打包发布。 (4)在确认发布对话框中,单击发布。 (5)在左侧导航栏,单击发布包列表,查看发布状态。
4、在生产环境运行任务 (1)任务发布成功后,单击右上角的运维中心。 您也可以进入业务流程的编辑页面,单击工具栏中的前往运维,进入运维中心页面。 (2)在左侧导航栏,单击周期任务运维>周期任务,进入周期任务页面,单击workshop 业务流程。 (3)双击 DAG 图中的虚节点展开业务流程,右键单击 workshop_start 节点,选择补数据>当前节点及下游节点。 (4)选中需要补数据的任务,输入业务日期,单击确定,自动跳转至补数据实例页面。 (5)单击刷新,直至 SQL 任务全部运行成功即可。 十四、配置数据质量监控 配置表 ods_raw_log_d 的监控规则。 1.在已添加的分区表达式模块,单击+,添加分区表达式。 ods_raw_log_d 表的数据来源为 oss_workshop_log,数据是从 OSS 中获取到的日志数据,其分区格式为 ${bdp.system.bizdate}( 获取到前—天的日期)。 对于此类每天产出的日志数据,您可以配置表的分区表达式。在添加分区对话框中,选择 dt=$lyyyymmdd-1],单击确认。分区表达式的详情请参见基础属性:调度参数。
2.单击创建规则,默认在模板规则对话框。 3.单击添加监控规则,选择规则模板为表行数,固定值,设置规则的强度为强、比较方式为期望值大于 0。 表 ods_raw_log_d 的数据来源于 OSS 上传的日志文件,作为源头表,您需要尽早判断该表的分区中是否存在数据。如果该表没有数据,则需要阻止后续任务运行。如果来源表没有数据,后续任务运行无意义。 配置完成后,单击批量保存。 4.单击试跑,在试跑对话框中,选择调度时间,单击试跑。 试跑可以立即触发数据质量的校验规则,对配置完成的规则进行校检。试跑完成后,单击试跑成功!点击查看试跑结果,即可跳转至试跑结果页面。 5.进行关联调度。 数据质量支持和调度任务关联。在表规则和调度任务绑定后,任务实例运行完成都会触发数据质量的检查。您可以通过以下两种方式进行表规则和任务的关联调度: (1)在运维中心页面关联表规则 单击左上方的目图标,选择全部产品>运维中心。 在左侧导航栏,单击周期任务运维>周期任务。在 DAG 图中,右键单击 oss_ 数据同步任务,选择配置质量监控。
在配置质量监控对话框中,选择表名 (ods_raw_log_d) 和分区表达式dt=$[yyyymmdd-1]),单击添加。 (2)在数据质量页面关联表规则 在表的监控规则页面,单击关联调度,配置规则与任务的绑定关系。 单击关联调度,可以与已提交到调度的节点任务进行绑定,系统会根据血缘关系给出推荐绑定的任务,也支持自定义绑定。 在关联调度对话框中,输入节点 ID 或节点名称,单击添加。添加完成后,即可完成与调度节点任务的绑定。 6. 订阅任务。 在表的监控规则页面,单击订阅管理,设置接收人以及订阅方式。数据质量支持邮件通知、邮件和短信通知、钉钉群机器人和钉钉群机器人 @ALL。 订阅管理设置完成后,在左侧导航栏,单击我的订阅,查看和修改已订阅的任务。 十五、数据可视化展现 操作步骤 1. 单击进入默认空间,您也可以使用自己的个人空间。 2. 选择数据源≥新建数据源>云数据库> Maxcompute。 3.输入您的 MaxCompute 项目名称以及您的 AcessKey 信息,数据库地址使用默认地址即可,关于数据库地址详情请参见 Endpoint。 完成填写后,单击连接测试,待显示数据源连通性正常后单击添加即可。 4.找到您刚添加的数据源的 rpt_user_info_d 表,单击创建数据集。
5. 进入数据集列表页,单击您刚刚创建的数据集,对数据集进行编辑。 常见的数据集加工包括:维度、度量的切换、修改维度的类型、增加计算字段、创建层次结构、修改字段的数据类型、更改度量聚合方式、制作关联模型。 6.转换字段的维度类型。完成转换后,您可以根据字段中具体的数值进行过滤筛选。 (1)转换日期字段的维度类型。 右键单击 dt 字段,选择维度类型切换>日期(源数据格式)> yyyyMMdd。
(2)转换地理信息字段的维度类型。 右键单 击 region 字段,选择维度类型切换>地理信息>省/直辖市。转换成功后,在左侧维度栏中会看到亨段前多—个地理位詈图标。
7.制作仪表板。 随着数据的更新,让报表可视化地展现最新数据,这个过程叫制作仪表板。仪表板的制作流程为:确定内容、布局和样式,制作图表,完成动态联动查询。 (1) 单击 rpt_user 数据集后的新建仪表板,选择常规模式,进入仪表板编辑页。 (2)从仪表板空间中向空白区拖 入 1 个指标看板。 选择数据来源为数据集 rpt_user,选择度量为 pv。
(3)制作趋势图:将图表区域内的线图拖拽到左侧画布。参数配置如下,完成之后单击更新: 值轴/度量: pv 类别轴/维度:dt (day) 颜色图例/维度:age_range 过滤器: dt (year) (4)制作色彩地图:单击图表区域内的色彩地图,并选择数据源来源为数据集rpt_user,选择地理区域/维度为 region、色彩饱和度/度量为 pv,选择完成后单击更新,结果如下。 (5)完成配置后,单击保存及预览,即可看到展示效果。 十六、通过向导模式生成 API 生成 API: 1.在服务开发页面,鼠标悬停至图标,单击 API> 生成 API。 也可以打开相应的业务流程,右键单击 API,选择新建>生成 API。 2.在生成 API 对话框中,配置各项参数。 3、单击确定。
配置 API: 1. 双击打开 API 的编辑页面,在选择表区域,选择数据源类型、数据源名称和数据表名称。 2.在环境配置区域,设置内存和超时时间。 3.在选择参数区域,设置请求参数和返回参数。 您选择数据表后,选择参数区域会自动显示该表的所有字段。根据自身需求,分别选中相应的字段设为请求参数和设为返回参数,添加至请求参数和返回参数列表中。 如果您需要对字段进行排序,单击相应字段后的添加到字段排序,将其添加至排序字段列表中。 您可以根据数据表中的指定字段对API的返回结果进行排序。当您的排序列表中有多个字段时,序号越小的字段,排序的优先级超高,您可以通过上移和下移操作来调整排序字段的优先级。对于每个排序字段,均可以选择升序或降序的方式进行排序。 4.单击 API 编辑页面右侧的请求参数,配置各项参数。 5.单击 API 编辑页面右侧的返回参数,配置各项参数 测试 API 在 API 的编辑页面,单击右上方的测试。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |