@InterfaceAudience.Public @InterfaceStability.Stable public class AsyncClientScanner extends java.lang.Object implements AsyncResultScanner
| Modifier and Type | Field and Description |
|---|---|
protected int |
caching |
protected AsyncScannerCallable |
callable |
protected AsyncRpcRetryingCaller<org.apache.hadoop.hbase.client.Result[]> |
caller |
protected boolean |
closed |
protected org.apache.hadoop.hbase.HRegionInfo |
currentRegion |
protected long |
lastNext |
protected org.apache.hadoop.hbase.client.Result |
lastResult |
protected long |
maxScannerResultSize |
protected org.apache.hadoop.hbase.client.Scan |
scan |
protected org.apache.hadoop.hbase.client.metrics.ScanMetrics |
scanMetrics |
protected boolean |
scanMetricsPublished |
protected int |
scannerTimeout |
| Constructor and Description |
|---|
AsyncClientScanner(AsyncRpcClient client,
org.apache.hadoop.hbase.client.Scan scan,
org.apache.hadoop.hbase.TableName tableName)
Create a new ClientScanner for the specified table Note that the passed
Scan's start
row maybe changed changed. |
| Modifier and Type | Method and Description |
|---|---|
protected boolean |
checkScanStopRow(byte[] endKey) |
void |
close() |
protected org.apache.hadoop.hbase.client.Scan |
getScan() |
protected org.apache.hadoop.hbase.client.metrics.ScanMetrics |
getScanMetrics() |
protected AsyncScannerCallable |
getScannerCallable(byte[] localStartKey,
int nbRows)
Get the callable for the scan
|
protected org.apache.hadoop.hbase.TableName |
getTable() |
protected long |
getTimestamp() |
protected void |
initScanMetrics(org.apache.hadoop.hbase.client.Scan scan)
Check and initialize if application wants to collect scan metrics
|
boolean |
isScanDone()
Check if the scanner is done
|
<H extends ResponseHandler<org.apache.hadoop.hbase.client.Result[]>> |
nextBatch(H handler)
Get the default number of rows as set by "hbase.client.scanner.caching"
|
protected void |
nextScanner(int nbRows,
boolean done,
ResponseHandler<java.lang.Boolean> handler)
Gets a scanner for the next region.
|
protected void |
setScanDone()
Set the scanner as done
|
protected void |
writeScanMetrics()
Publish the scan metrics.
|
protected org.apache.hadoop.hbase.client.Scan scan
protected boolean closed
protected org.apache.hadoop.hbase.HRegionInfo currentRegion
protected AsyncScannerCallable callable
protected final int caching
protected long lastNext
protected org.apache.hadoop.hbase.client.Result lastResult
protected final long maxScannerResultSize
protected final int scannerTimeout
protected boolean scanMetricsPublished
protected AsyncRpcRetryingCaller<org.apache.hadoop.hbase.client.Result[]> caller
protected org.apache.hadoop.hbase.client.metrics.ScanMetrics scanMetrics
public AsyncClientScanner(AsyncRpcClient client, org.apache.hadoop.hbase.client.Scan scan, org.apache.hadoop.hbase.TableName tableName)
Scan's start
row maybe changed changed.client - The AsyncRpcClient to use.scan - Scan to use in this scannertableName - The table that we wish to scanprotected void initScanMetrics(org.apache.hadoop.hbase.client.Scan scan)
scan - to init it forprotected org.apache.hadoop.hbase.client.metrics.ScanMetrics getScanMetrics()
protected org.apache.hadoop.hbase.TableName getTable()
protected org.apache.hadoop.hbase.client.Scan getScan()
protected long getTimestamp()
protected boolean checkScanStopRow(byte[] endKey)
endKey - to checkprotected void nextScanner(int nbRows,
boolean done,
ResponseHandler<java.lang.Boolean> handler)
currentRegion != null and
done is true.nbRows - number of rows to scandone - Server-side says we're done scanning.handler - for the next scanner@InterfaceAudience.Private protected AsyncScannerCallable getScannerCallable(byte[] localStartKey, int nbRows)
localStartKey - start key for the scannbRows - number of rowsprotected void writeScanMetrics()
public <H extends ResponseHandler<org.apache.hadoop.hbase.client.Result[]>> H nextBatch(H handler)
AsyncResultScannernextBatch in interface AsyncResultScannerhandler - to handle responsespublic boolean isScanDone()
AsyncResultScannerisScanDone in interface AsyncResultScannerprotected void setScanDone()
public void close()
close in interface java.io.Closeableclose in interface java.lang.AutoCloseable