flink 计算留存 Java 版本

该代码示例展示了如何利用Apache Flink计算留存率。首先,它合并多个日文件数据,然后通过Flink API进行数据处理,包括去重、过滤、聚合等操作,以计算不同时间段的新增和留存用户。最后,输出留存率相关统计数据。
package demo.flink.retained;

import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.StrUtil;
import org.apache.flink.api.common.functions.MapFunction;
import org.apache.flink.api.common.typeinfo.Types;
import org.apache.flink.api.java.DataSet;
import org.apache.flink.api.java.ExecutionEnvironment;
import org.apache.flink.api.java.operators.AggregateOperator;
import org.apache.flink.api.java.operators.FilterOperator;
import org.apache.flink.api.java.tuple.Tuple3;
import org.apache.flink.configuration.Configuration;
import org.apache.flink.core.fs.FileSystem;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import demo.flink.wordcount.util.MappedBiggerFileReaderWrite;

import java.io.FileOutputStream;
import java.util.*;

/**
 * flink 计算留存
 * 数据源文件:每天一个文件
 *
 * @Author: lizixian
 * @date: 2022/9/7 23:43
 */
public class Retained4Demo {

    private static Logger logger = LoggerFactory.getLogger(Retained4Demo.class);

    private static String DATA_TEMP_PATH = "G:\\demo\\temp.txt";
    private static String DATA_BASE_PATH = "G:\\demo\\%s.txt";

    public static void main(String[] args) throws Exception {
        Map<String, List<String>> map = new TreeMap<>();
        Date date = DateUtil.parse("20220701");

        retained("20220701");

        System.out.println(map);
    }

    /*
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值