【问题标题】:Is there a way to consume sample records from kinesis?有没有办法从 kinesis 中消费样本记录?
【发布时间】:2020-01-18 02:01:52
【问题描述】:

我使用 KCL 编写了一个 Amazon Kinesis 消费者,它管理我的记录处理任务。它当前正在处理记录而不进行过滤。 我正在寻找一种方法来处理样本记录,同时跳过其中一些。

例如,如果总共有 100 条记录,我想只处理其中的 1/10(10 条样本记录)。

谢谢!

【问题讨论】:

    标签: java amazon-kinesis amazon-kcl


    【解决方案1】:

    据我所知,没有办法告诉 Kinesis 只返回记录的随机子集。因此,一旦记录返回给您,您就可以忽略它们。

    processRecords方法中,简单地随机忽略9/10条记录:

    public void processRecords(ProcessRecordsInput processRecordsInput) {
        processRecordsInput.records()
                .forEach(r -> if (generateRandomNumber()%10 == 0) process(r));
    }
    
    private int generateRandomNumber() {
        Random random = new Random();
        return random.nextInt(10);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-16
      • 2020-11-14
      • 2019-09-06
      • 2012-02-16
      • 1970-01-01
      相关资源
      最近更新 更多