开发者社区> 问答> 正文

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

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

展开
收起
游客qzzytmszf3zhq 2021-12-07 15:45:27 516 0
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
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
PostgresChina2018_赖思超_PostgreSQL10_hash索引的WAL日志修改版final 立即下载
Kubernetes下日志实时采集、存储与计算实践 立即下载
日志数据采集与分析对接 立即下载