private CompletableFuture<?> handleBatchPut(Collection<Operation<K, V, U>> operations) {
    Preconditions.checkNotNull(operations);

    final List<Entry<K, V>> puts = operations.stream()
        .map(op -> new Entry<>(op.getKey(), op.getValue()))
        .collect(Collectors.toList());
    if (puts.isEmpty()) {
      return CompletableFuture.completedFuture(Collections.EMPTY_MAP);
    }

    final Object[] args = getOperationArgs(operations);
    return args == null ? table.putAllAsync(puts) : table.putAllAsync(puts, args);
  }
Define how batch put should be done.

@param operations The batch get operations.
@return A CompletableFuture to represent the status of the batch operation.
samza-core/src/main/java/org/apache/samza/table/batching/TableBatchHandler.java