• 沒有找到結果。

步骤 3:分析账户消费结构并优化

4-3 导出消费数据

e. 左侧导航栏,选择“导出记录”。下载对应的消费明细数据。

步骤 3:分析账户消费结构并优化

1. 在DLI上进行消费明细分析。

a. 将1下载的消费明细数据上传到已建好的OBS桶中。

b. 在数据湖探索服务中创建表。

i. 登录DLI控制台,左侧导航栏单击“SQL编辑器”,执行引擎选择

“spark”,选择执行的队列和数据库。本次演示队列和数据库选择

“default”。

ii. 下载的文件中包含时间用量等,按表头意义在DLI上创建表,具体可以参 考如下示例,其中amount列为费用。

CREATE TABLE `spending` ( account_period string, EnterpriseProject string, EnterpriseProjectID string, accountID string, product_type_code string, product_type string, product_code string, product_name string,

最佳实践 4 使用 DLI 进行账单分析与优化

product_id string, mode string, time1 string, use_start string, use_end string, orderid string, ordertime string, resource_type string, resource_id string, resouce_name string, tag string,

skuid string, `c22name` STRING, `c23name` STRING, `c24name` STRING, `c25name` STRING, `c26name` STRING, `c27name` STRING, `c28name` STRING, `c29name` STRING, size STRING, `c31name` STRING, `c32name` STRING, `c33name` STRING, `c34name` STRING, `c35name` STRING, `amount` STRING, `c37name` STRING, `c38name` STRING, `c39name` STRING, `c40name` STRING, `c41name` STRING, `c42name` STRING, `c43name` STRING, `c44name` STRING, `c45name` STRING, `c46name` STRING, `c47name` STRING, `c48name` STRING, `c49name` STRING, `c50name` STRING, `c51name` STRING, `c52name` STRING, `c53name` STRING, `c54name` STRING ) USING csv options (

path 'obs://xxx/Spendings(ByTransaction)_20200501_20200531.csv', header true)

c. 查询该时间内消费最高的resource_id, resource_name。

通过以下语句,可以发现sql和flink队列使用的费用均为1842元,在总费用 3754元中占比为98%。

select resource_id, resouce_name, sum(size) as usage, sum(amount)

as sum_amount from spending

group by resource_id, resouce_name order by sum_amount desc

4-4 查询结果

d. 使用以下语句具体分析sql和flink这两个资源消费的时间段。

最佳实践 4 使用 DLI 进行账单分析与优化

select * from spending where resource_id = 'd91d4616-b10c-471a-820d-e676e6c5f4b4' order by ordertime

可以发现sql队列从2020-05-14 17:00:00 GMT+08:00开始,每小时产生5.6元 费用,持续到2020-05-28 10:00:00 GMT+08:00,说明这个sql队列在这段时 间内持续使用。

同样,也可以发现flink队列在2020-05-14 17:00:00 GMT+08:00到 2020-05-28 10:00:00 GMT+08:00这段 内持续使用。

2. 优化建议。

通过以上分析,了解到sql和flink这两个队列几乎是在持续使用的,建议通过购买 包周期队列来降低使用成本。另外,对于明确需要使用多少CU时的作业,也可以 提前购买对应的CU时套餐包,来降低使用成本。

企业中的业务模式较多且经常变化,成本管理员通常并不能全面及时了解花销较大的 业务在哪里,哪些是合理的,哪些是不合理的,通过在DLI中对费用明细进行分析,可 以及时发现企业花销不合理的地方,及时进行成本管理,进一步降低企业使用华为云 的成本。

最佳实践 4 使用 DLI 进行账单分析与优化

5 使用 DLI Flink SQL 进行电商实时业务数据 分析

业务场景介绍

● 场景描述

当前线上购物无疑是最火热的购物方式,而电商平台则又可以以多种方式接入,

例如通过web方式访问、通过app的方式访问、通过微信小程序的方式访问等等。

而电商平台则需要每天统计各平台的实时访问数据量、订单数、访问人数等等指 标,从而能在显示大屏上实时展示相关数据,方便及时了解数据变化,有针对性 地调整营销策略。而如何高效快捷地统计这些指标呢?

假设平台已经将每个商品的订单信息实时写入Kafka中,这些信息包括订单ID、订 单生成的渠道(即web方式、app方式等)、订单时间、订单金额、折扣后实际支付 金额、支付时间、用户ID、用户姓名、订单地区ID等信息。而我们需要做的,就 是根据当前可以获取到的业务数据,实时统计每种渠道的相关指标,输出存储到 数据库中,并进行大屏展示。

● 场景方案

● 场景任务

使用DLI Flink完成电商业务实时数据的分析处理,获取各个渠道的销售汇总数 据。

最佳实践 5 使用 DLI Flink SQL 进行电商实时业务数据分析

● 数据说明

– 数据源表:电商业务订单详情宽表

字段名 字段类型 说明

order_id string 订单ID

order_channel string 订单生成的渠道(即 web方式、app方式 等)

order_time string 订单时间 pay_amount double 订单金额

real_pay double 实际支付金额

pay_time string 支付时间

user_id string 用户ID

user_name string 用户姓名

area_id string 订单地区ID

– 结果表:各渠道的销售总额实时统计表。

字段名 字段类型 说明

begin_time varchar(32) 开始统计指标的时间 channel_code varchar(32) 渠道编号

channel_name varchar(32) 渠道名

cur_gmv double 当天GMV

cur_order_user_count bigint 当天付款人数 cur_order_count bigint 当天付款订单数 last_pay_time varchar(32) 最近结算时间 flink_current_time varchar(32) Flink数据处理时间

流程介绍

使用DLI Flink进行电商实时业务数据分析的操作过程主要包括7个步骤:

步骤1:注册账号。使用DLI对数据进行分析之前,需要注册华为云账号并进行实名认

证。

相關文件