public class PartitionStrategy<S extends Partition,C extends PartitionContext> extends java.lang.Object implements BatchStrategy<S,C>
| Modifier and Type | Class and Description |
|---|---|
static class |
PartitionStrategy.PartitionQuery<C extends PartitionContext> |
static class |
PartitionStrategy.Range |
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
ASYNC_QUERY_PARTITION |
static java.lang.String |
ASYNC_QUERY_RANGE |
static java.lang.String |
QUERY_PARTITION |
static java.lang.String |
QUERY_RANGE |
| Constructor and Description |
|---|
PartitionStrategy() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
asyncQuery(PartitionStrategy.PartitionQuery<C> p,
java.lang.String query,
java.util.function.Consumer<Row> rowConsumer) |
protected void |
execAsyncQuery(C context,
java.lang.String query,
java.util.List<PartitionStrategy.Range> working,
java.util.function.Consumer<Row> rowConsumer) |
protected void |
execAsyncQuery2(C context,
java.lang.String query,
java.util.List<PartitionStrategy.Range> working,
java.util.function.Consumer<Row> rowConsumer) |
java.util.List<S> |
extract(C context) |
protected java.util.List<PartitionStrategy.Range> |
getAsyncRanges(java.lang.String query,
java.math.BigDecimal from,
java.math.BigDecimal to,
int asyncStepSize,
int asyncMaxChunkSize) |
int |
load(C context,
java.util.List<S> source) |
java.util.Map<java.lang.Comparable<java.lang.Object>,java.lang.Long> |
queryPartitions(PartitionStrategy.PartitionQuery<C> p)
Return a map of partitions and count.
|
java.util.Map<java.lang.Comparable<java.lang.Object>,java.lang.Long> |
queryPartitions2(PartitionStrategy.PartitionQuery<C> p) |
java.util.List<java.lang.Comparable<java.lang.Object>> |
queryRange(PartitionStrategy.PartitionQuery<C> p) |
java.util.List<java.lang.Comparable<java.lang.Object>> |
queryRange2(PartitionStrategy.PartitionQuery<C> p) |
int |
run(C context) |
int |
run(C context,
java.util.List<java.lang.Comparable<?>> partitions) |
int |
runPartitions(C context) |
int |
runPartitions(java.util.List<java.lang.Comparable<?>> list,
C context) |
java.math.BigDecimal |
timeExpressedInCorrectTimeUnit(java.util.concurrent.TimeUnit timeUnit,
long time) |
public static final java.lang.String QUERY_PARTITION
public static final java.lang.String ASYNC_QUERY_PARTITION
public static final java.lang.String QUERY_RANGE
public static final java.lang.String ASYNC_QUERY_RANGE
public int load(C context, java.util.List<S> source)
load in interface BatchStrategy<S extends Partition,C extends PartitionContext>public java.util.Map<java.lang.Comparable<java.lang.Object>,java.lang.Long> queryPartitions(PartitionStrategy.PartitionQuery<C> p)
p - PartitionQuerypublic java.util.Map<java.lang.Comparable<java.lang.Object>,java.lang.Long> queryPartitions2(PartitionStrategy.PartitionQuery<C> p)
protected void asyncQuery(PartitionStrategy.PartitionQuery<C> p, java.lang.String query, java.util.function.Consumer<Row> rowConsumer)
protected void execAsyncQuery(C context, java.lang.String query, java.util.List<PartitionStrategy.Range> working, java.util.function.Consumer<Row> rowConsumer)
protected void execAsyncQuery2(C context, java.lang.String query, java.util.List<PartitionStrategy.Range> working, java.util.function.Consumer<Row> rowConsumer)
protected java.util.List<PartitionStrategy.Range> getAsyncRanges(java.lang.String query, java.math.BigDecimal from, java.math.BigDecimal to, int asyncStepSize, int asyncMaxChunkSize)
public java.util.List<S> extract(C context)
extract in interface BatchStrategy<S extends Partition,C extends PartitionContext>public int run(C context)
run in interface BatchStrategy<S extends Partition,C extends PartitionContext>run in interface Strategy<C extends PartitionContext>public java.math.BigDecimal timeExpressedInCorrectTimeUnit(java.util.concurrent.TimeUnit timeUnit,
long time)
public int run(C context, java.util.List<java.lang.Comparable<?>> partitions)
public java.util.List<java.lang.Comparable<java.lang.Object>> queryRange(PartitionStrategy.PartitionQuery<C> p)
public java.util.List<java.lang.Comparable<java.lang.Object>> queryRange2(PartitionStrategy.PartitionQuery<C> p)
public int runPartitions(C context)
public int runPartitions(java.util.List<java.lang.Comparable<?>> list,
C context)