基于DLF进行脚本开发和作业开发
1.1 下载分析数据 并上传到OBS
1.1.1 浏览器打开https://data.cityofnewyork.us/Transportation/2015-Yellow-Taxi-Trip-Data/ba8s-jw6u ,这是一份纽约市2015 年度黄色出租车数据,我们将基于这份数据完成脚本分析和作业编排的介绍。
1.1.2 此份数据的格式如下,我们可以基于如下数据格式进行数据建模:
1.2 数据建模
1.2.1 登录华为云控制台,选择“EI企业智能 > 数据湖工厂”。
1.2.2 选择“数据管理 > 数据连接管理”,进入“数据连接管理”页面,点击创建数据连接按钮。
1.2.3 在弹出框中点击数据连接类型的下拉框。
参数 | 值 |
数据连接类型 | 数据湖探索(DLI) 需要访问过DLI服务 数据仓库服务(DWS) 需要创建好DWS集群 表格存储服务(CloudTable) 需要创建好CloudTable集群 MapReduce服务(Hive) 需要创建好MapReduce集群 MapReduce服务(SparkSQL)需要创建好MapReduce集群 云数据库(RDS) 需要创建好RDS mysql实例集群 |
1.2.4 选择” 数据湖探索(DLI)”
参数 | 值 |
数据连接名称 | dli |
1.2.5 单击测试,测试数据连接的连通性。
1.2.56 点击确定完成数据连接创建
1.3 创建数据表
1.3.1选择“数据管理 > 数据表管理”,进入“数据表管理”页面,点击新建数据表按钮。
1.3.2 在打开的页面中填新建数据表的基本属性:
参数 | 值 |
数据连接类型 | 数据湖探索DLI |
数据连接 | Dli |
数据库(DLI没有默认数据库,提前创建) | demo |
表名 | yellowtaxitripdata |
别名 | 默认空 |
表描述 | 默认空 |
数据位置 | DLI |
配置完成后部分信息如图:
1.3.3 单击右下角的“下一步”,在下一个页面中, 按照下载数据的格式,配置表结构,配置好后如下图。
1.3.4 也可以使用DDL模式建表,点击新建表页面右上角的“DDL模式建表”
1.3.5 再DDL模式建表页面,配置好数据连接类型,数据连接,数据库,输入建表语句
create table YellowTaxiTripData( VendorID int, tpep_pickup_datetime TIMESTAMP, tpep_dropoff_datetime TIMESTAMP, passenger_count int, trip_distance float, pickup_longitude double, pickup_latitude double, RateCodeID int, store_and_fwd_flag boolean, dropoff_longitude double, dropoff_latitude double, payment_type float, fare_amount float, extra float, mta_tax float, tip_amount float, tolls_amount float, total_amount float )
配置好后,效果如下:
1.3.6 点击确定,建表成功。
1.4 将数据集成到数据表中
1.4.1 点击“数据集成 > CDM作业管理”,进入CDM管理页面,CDM集群管理和作业管理的功能参考云数据迁移服务。
检查数据映射关系是否正确。
配置好之后,保存运行,将数据导入表中。
1.5 对已导入数据进行脚本开发
1.5.1 点击“数据开发 > 脚本开发”进入脚本开发页面,点击新建脚本。
1.5.2在弹出的页面中填新建脚本的基本属性:
参数 | 值 |
脚本名称 | dli_bydate |
描述 | 按日期生成报表 |
脚本类型 | SQL |
数据连接类型 | DLI |
是否外部存储 | 默认关 |
选择目录 | 默认脚本目录 |
配置好后,如下
1.5.3 点击确定完成脚本创建,创建成功后,自动进入脚本开发页面。
1.5.4 配置好数据连接,资源队列,以及数据库之后
参数 | 值 |
数据连接类型 | DLI |
资源队列 | demo |
数据库 | demo |
1.5.5 输入按日期分组统计数据sql语句,如下
drop view if exists analysis_bydate; create view analysis_bydate as SELECT * FROM (select to_date(tpep_pickup_datetime) as date, count (*) as order_num, sum(passenger_count) as total_passenger, sum(total_amount) as total_fee from demo.yellowtaxitripdata group by date );
1.5.6点击执行,显示脚本执行成功后,点击刷新表按钮,可以看到按日期统计报表已经成功生成
1.5.7 点击保存按钮,保存成功之后,点击提交按钮,将脚本提交到作业开发。
1.5.8 按照上述步骤创建一个按出租车公司统计报表的脚本,相关sql如下:
drop view if exists analysis_byvendor; create view analysis_byvendor as SELECT vendorid, count(*) as order_num,sum(passenger_count) as total_passenger,sum(trip_distance) as total_distance, sum(total_amount) as total_fee FROM demo.yellowtaxitripdata group by vendorid;
1.6编排调度作业
1.6.1 点击“数据开发 > 作业开发”,进入作业开发,点击“新建作业”按钮,创建一个新作业。
1.6.2 输入新建作业的参数配置
参数 | 值 |
作业名称 | dli_demo |
创建方式 | 创建空作业 |
选择目录 | 默认/作业目录/ |
描述 | 默认空 |
配置效果如下:
1.6.3 点击确定,作业创建成功后,自动进入作业开发页面。
1.6.4 拖入CDM_job算子并单击选中,右侧弹出算子属性配置框,配置好属性
参数 | 值 |
名称 | OBS_DLI |
CDM集群名称 | 下拉框选择已经创建好的CDM集群 |
CDM作业名称 | 点击CDM按钮,选择上面选择集群中创建好的作业。 |
日志路径 | 选择算子运行日志的保存路径(非必选) |
配置好后,效果如下:
1.6.5按同样的方式拖入DLI SQL算子两个,并配置好作业开发阶段提交的脚本。配置好后效果如下:
1.6.6 配置好之后,点击测试运行按钮,测试作业是否配置正确。也可以右键点击单个活动,选择测试运行,活动运行成功。
1.6.7 测试运行成功后,配置作业调度周期,画布空白的地方,再点击画布右侧的周期调度,弹出周期配置框,根据需要配置调度周期,配置好如下:
1.6.8 周期配置成功后,点击画布上侧的保存按钮,保存成功后,点击上侧的提交按钮,将作业提交到运维调度模块并运行。
1.6.9 点击“运维调度 > 作业监控”,进入作业监控页面,查看作业运行情况。
1.6.10 点击作业名称,进入该作业运行记录页面,查看该作业的运行情况。
1.6.11 至此任务完成。
- 点赞
- 收藏
- 关注作者
评论(0)