(从电商项目认识数仓体系十)报表及azkaban导出

1 ADS

1.1 GVM

GMV(Gross Merchandise Volume),成交总额(一定时间段内),在电商网站定义为网站成交金额,实际指拍下订单金额,包含付款和未付款的部分,是电商品台非常重视的统计指标,甚至写在招股书里。不同公司GMV算法不同,例GMV=下单金额,GMV=下单金额-(大额订单,10w),GMV=下单金额+预定金额

1.2 GVM建表及数据导入语句

DROP TABLE IF EXISTS ads_gmv_sum_day;
CREATE TABLE ads_gmv_sum_day(
    `dt` STRING COMMENT '统计日期',
    `gmv_count` BIGINT COMMENT '当日gmv订单个数',
    `gmv_amount` DECIMAL(16,2) COMMENT '当日gmv订单总金额',
    `gmv_payment` DECIMAL(16,2) COMMENT '当日支付金额',
)COMMENT '每日活跃用户数量'
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
LOCATION '/warehouse/gmall/ads/ads_gmv_sum_day'
;

INSERT INTO TABLE ads_gmv_sum_day
SELECT
    '2019-02-10' dt,
    SUM(order_amount) gmv_amount,
    SUM(order_count) order_count,
    SUM(payment_amount) payment_amount,
FROM dws_user_action
WHERE dt='2019-02-10'
;

1.3 转化率

在统计分析指标中,经常会提及转化率,但实际上各个行业的哥哥公司有不同的定义,具体的转化率是什么,取决于转化目标,常见的定义为实际下单的用户在单日总活跃用户中的比例,及单日消费用户数/单日日活数量,还有其他,例如信访稳用户转化率=单日新访问设备数/日活数,新注册用户转化率=单日新注册用户数/日活数,新付费用户转化率=单日新付费用户数/日活数。

1.4 转化率建表及数据导入语句

DROP TABLE IF EXISTS ads_user_convert_day;
CREATE TABLE ads_user_convert_day(
    `dt` STRINMG COMMENT '统计日期',
    `uv_m_count` BIGINT COMMENT '当日活跃设备',
    `new_m_count` BIGINT COMMENT '当日新增设备',
    `new_m_ratio` DECIMAL(10,2) COMMENT '当日新增占日活的比率'
)COMMENT '每日活跃用户数量'
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
LOCATION '/warehouse/gmall/ads/ads_uer_convert_day/'
;

INSERT INTO TABLE ads_user_convert_day
SEELCT
    '2019-02-10',
    SUM(uc.dc) sum_dc,
    SUM(uc.nmc) sum_nmc,
    CAST(SUM(uc.nmc)/SUM(uc.dc)*100 AS DECIMAL(10,2)) new_m_ratio
FROM
(
    SELECT
        day_count dc,
        0 AS nmc
    FROM ads_uv_count
    WHERE dt='2019-02-10'
    UNION ALL
    SELECT
        0 AS dc,
        new_mid_c
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Azkaban是一个开源的批量工作流任务调度器,它提供了一个web界面来管理和监控调度任务。在Spring Boot中开发Azkaban调度任务,你可以通过以下步骤实现: 1. 首先,你需要安装和配置Azkaban服务。在上篇文章中已经详细介绍了Azkaban服务的安装过程,你可以按照那篇文章的指引进行操作。 2. 接下来,你需要创建一个Spring Boot项目,并添加Azkaban的依赖。你可以在pom.xml文件中添加以下依赖: ```xml <dependency> <groupId>com.linkedin.azkaban</groupId> <artifactId>azkaban-common</artifactId> <version>3.90.0</version> </dependency> ``` 3. 然后,你需要修改启动类,添加必要的配置和注解。在启动类上添加`@SpringBootApplication`注解,并通过`@PropertySource`注解指定Azkaban的配置文件路径。同时,你还需要排除`DataSourceAutoConfiguration`,因为Azkaban不需要数据库。 ```java @PropertySource("classpath:application.properties") @SpringBootApplication(exclude={DataSourceAutoConfiguration.class}) public class AzkabanApplication { private static final Logger LOGGER = LoggerFactory.getLogger(AzkabanApplication.class); public static void main(String[] args) { LOGGER.info("开始执行任务......"); ApplicationContext context = new AnnotationConfigApplicationContext(AzkabanApplication.class); IAzkabanService azkabanService = context.getBean(IAzkabanService.class); List<TsUserinfo> userinfos = azkabanService.queryAllUserInfo(); LOGGER.info("任务执行结束,结果为:\r\n"); userinfos.forEach(System.out::println); } } ``` 4. 最后,你可以通过运行测试类来测试任务的执行情况。当你访问Azkaban的web界面时,你应该能够看到任务的执行结果。 至此,你已经成功地在Spring Boot中开发了一个Azkaban的调度任务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值