Package org.apache.iceberg.util
Class TableScanUtil
- java.lang.Object
-
- org.apache.iceberg.util.TableScanUtil
-
public class TableScanUtil extends java.lang.Object
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static long
adjustSplitSize(long scanSize, int parallelism, long splitSize)
static boolean
hasDeletes(CombinedScanTask task)
static boolean
hasDeletes(FileScanTask task)
static boolean
hasEqDeletes(CombinedScanTask task)
This is temporarily introduced since we plan to support pos-delete vectorized read first, then get to the equality-delete support.static <T extends ScanTask>
java.util.List<T>mergeTasks(java.util.List<T> tasks)
static <T extends ScanTask>
java.util.List<ScanTaskGroup<T>>planTaskGroups(java.util.List<T> tasks, long splitSize, int lookback, long openFileCost)
static <T extends PartitionScanTask>
java.util.List<ScanTaskGroup<T>>planTaskGroups(java.util.List<T> tasks, long splitSize, int lookback, long openFileCost, Types.StructType groupingKeyType)
static <T extends ScanTask>
CloseableIterable<ScanTaskGroup<T>>planTaskGroups(CloseableIterable<T> tasks, long splitSize, int lookback, long openFileCost)
static CloseableIterable<CombinedScanTask>
planTasks(CloseableIterable<FileScanTask> splitFiles, long splitSize, int lookback, long openFileCost)
static CloseableIterable<FileScanTask>
splitFiles(CloseableIterable<FileScanTask> tasks, long splitSize)
-
-
-
Method Detail
-
hasDeletes
public static boolean hasDeletes(CombinedScanTask task)
-
hasEqDeletes
public static boolean hasEqDeletes(CombinedScanTask task)
This is temporarily introduced since we plan to support pos-delete vectorized read first, then get to the equality-delete support. We will remove this method once both are supported.
-
hasDeletes
public static boolean hasDeletes(FileScanTask task)
-
splitFiles
public static CloseableIterable<FileScanTask> splitFiles(CloseableIterable<FileScanTask> tasks, long splitSize)
-
planTasks
public static CloseableIterable<CombinedScanTask> planTasks(CloseableIterable<FileScanTask> splitFiles, long splitSize, int lookback, long openFileCost)
-
planTaskGroups
public static <T extends ScanTask> java.util.List<ScanTaskGroup<T>> planTaskGroups(java.util.List<T> tasks, long splitSize, int lookback, long openFileCost)
-
planTaskGroups
public static <T extends ScanTask> CloseableIterable<ScanTaskGroup<T>> planTaskGroups(CloseableIterable<T> tasks, long splitSize, int lookback, long openFileCost)
-
planTaskGroups
public static <T extends PartitionScanTask> java.util.List<ScanTaskGroup<T>> planTaskGroups(java.util.List<T> tasks, long splitSize, int lookback, long openFileCost, Types.StructType groupingKeyType)
-
mergeTasks
public static <T extends ScanTask> java.util.List<T> mergeTasks(java.util.List<T> tasks)
-
adjustSplitSize
public static long adjustSplitSize(long scanSize, int parallelism, long splitSize)
-
-