开发者社区 问答 正文

CDN 实时日志分析核心统计逻辑是什么?

CDN 实时日志分析核心统计逻辑是什么?

展开
收起
游客qzzytmszf3zhq 2021-12-07 15:45:27 562 分享
分享
版权
举报
1 条回答
写回答
取消 提交回答
  • 首先从数据源读取数据,然后需要先将 clien_ip 利用我们刚才定义的 ip_to_province(ip) 转换为具体的地区。之后,在进行按地区分组,统计访问量,下载量和资源下载速度。最后将统计结果存储到结果表中。这个统计逻辑中,我们不仅使用了Python UDF,而且还使用了 Flink 内置的 Java AGG 函数,sum 和 count。

    # 核心的统计逻辑
    t_env.from_path("cdn_access_log")\
       .select("uuid, "
               "ip_to_province(client_ip) as province, " # IP 转换为地区名称
               "response_size, request_time")\
       .group_by("province")\
       .select( # 计算访问量
               "province, count(uuid) as access_count, " 
               # 计算下载总量 
               "sum(response_size) as total_download,  " 
               # 计算下载速度
               "sum(response_size) * 1.0 / sum(request_time) as download_speed") \
       .insert_into("cdn_access_statistic")
    
    2021-12-07 15:45:36 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等