本文整理汇总了Java中org.apache.accumulo.core.client.BatchDeleter类的典型用法代码示例。如果您正苦于以下问题:Java BatchDeleter类的具体用法?Java BatchDeleter怎么用?Java BatchDeleter使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
BatchDeleter类属于org.apache.accumulo.core.client包,在下文中一共展示了BatchDeleter类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: removeElementFromIndex
import org.apache.accumulo.core.client.BatchDeleter; //导入依赖的package包/类
/**
* Remove the given element's properties from the index.
* @param element
*/
public void removeElementFromIndex(Element element) {
BatchDeleter deleter = null;
try {
deleter = getDeleter();
deleter.setRanges(Collections.singleton(new Range()));
IteratorSetting is = new IteratorSetting(10, "getEdgeFilter", RegExFilter.class);
RegExFilter.setRegexs(is, null, null,
"^"+Pattern.quote(element.getId().toString())+"$", null, false);
deleter.addScanIterator(is);
deleter.delete();
deleter.close();
} catch (Exception e) {
throw new AccumuloGraphException(e);
} finally {
if (deleter != null) {
deleter.close();
}
}
}
示例2: deleteVertex
import org.apache.accumulo.core.client.BatchDeleter; //导入依赖的package包/类
/**
* Remove the given vertex.
* Note: This uses a BatchDeleter rather than {@link Mutator}
* because it is more efficient.
* @param vertex
*/
public void deleteVertex(Vertex vertex) {
BatchDeleter deleter = null;
try {
deleter = getDeleter();
deleter.setRanges(Arrays.asList(Range.exact((String) vertex.getId())));
deleter.delete();
} catch (Exception e) {
throw new AccumuloGraphException(e);
} finally {
if (deleter != null) {
deleter.close();
}
}
}
示例3: createBatchDeleter
import org.apache.accumulo.core.client.BatchDeleter; //导入依赖的package包/类
@Override
public BatchDeleter createBatchDeleter(
final String tableName,
final String... additionalAuthorizations )
throws TableNotFoundException {
return connector.createBatchDeleter(
getQualifiedTableName(tableName),
new Authorizations(
getAuthorizations(additionalAuthorizations)),
numThreads,
new BatchWriterConfig().setMaxWriteThreads(
numThreads).setMaxMemory(
byteBufferSize).setTimeout(
timeoutMillis,
TimeUnit.MILLISECONDS));
}
示例4: addToBatch
import org.apache.accumulo.core.client.BatchDeleter; //导入依赖的package包/类
@Override
protected void addToBatch(
final Closeable deleter,
final List<ByteArrayId> ids )
throws Exception {
final List<Range> rowRanges = new ArrayList<Range>();
for (final ByteArrayId id : ids) {
rowRanges.add(Range.exact(new Text(
id.getBytes())));
}
if (deleter instanceof ClosableBatchDeleter) {
final BatchDeleter batchDeleter = ((ClosableBatchDeleter) deleter).getDeleter();
batchDeleter.setRanges(rowRanges);
batchDeleter.delete();
}
else {
LOGGER.error("Deleter incompatible with data store type");
}
}
示例5: clearTable
import org.apache.accumulo.core.client.BatchDeleter; //导入依赖的package包/类
public static void clearTable(Connector connector, String table) throws AccumuloException, TableNotFoundException, AccumuloSecurityException {
Authorizations userAuths = connector.securityOperations().getUserAuthorizations(connector.whoami());
BatchDeleter batchDelete = connector.createBatchDeleter(table, userAuths, 1, new BatchWriterConfig());
batchDelete.setRanges(Collections.singleton(new Range()));
batchDelete.delete();
batchDelete.close();
batchDelete = connector.createBatchDeleter(table, userAuths, 1, new BatchWriterConfig());
batchDelete.setRanges(Collections.singleton(new Range()));
batchDelete.delete();
batchDelete.close();
connector.tableOperations().compact(table, new Text("\u0000"), new Text("\uffff"), true, true);
}
示例6: purge
import org.apache.accumulo.core.client.BatchDeleter; //导入依赖的package包/类
private void purge(final String tableName, final String[] auths) throws TableNotFoundException, MutationsRejectedException {
if (tableExists(tableName)) {
logger.info("Purging accumulo table: " + tableName);
final BatchDeleter batchDeleter = createBatchDeleter(tableName, new Authorizations(auths));
try {
batchDeleter.setRanges(Collections.singleton(new Range()));
batchDeleter.delete();
} finally {
batchDeleter.close();
}
}
}
示例7: createBatchDeleter
import org.apache.accumulo.core.client.BatchDeleter; //导入依赖的package包/类
@Override
@Deprecated
public BatchDeleter createBatchDeleter(String tableName, Authorizations authorizations, int numQueryThreads, long maxMemory, long maxLatency,
int maxWriteThreads) throws TableNotFoundException {
return createBatchDeleter(tableName, authorizations, numQueryThreads, new BatchWriterConfig().setMaxLatency(maxLatency, TimeUnit.MILLISECONDS)
.setMaxMemory(maxMemory).setMaxWriteThreads(maxWriteThreads));
}
示例8: dropKeyIndex
import org.apache.accumulo.core.client.BatchDeleter; //导入依赖的package包/类
@Override
public <T extends Element> void dropKeyIndex(String key, Class<T> elementClass) {
// TODO Move below to somewhere appropriate.
if (elementClass == null) {
throw ExceptionFactory.classForElementCannotBeNull();
}
globals.getIndexMetadataWrapper().clearKeyMetadataEntry(key, elementClass);
String table = null;
if (elementClass.equals(Vertex.class)) {
table = globals.getConfig().getVertexKeyIndexTableName();
} else {
table = globals.getConfig().getEdgeKeyIndexTableName();
}
BatchDeleter bd = null;
try {
bd = globals.getConfig().getConnector().createBatchDeleter(table, globals.getConfig().getAuthorizations(), globals.getConfig().getMaxWriteThreads(), globals.getConfig().getBatchWriterConfig());
bd.setRanges(Collections.singleton(new Range()));
bd.fetchColumnFamily(new Text(key));
bd.delete();
} catch (Exception e) {
throw new AccumuloGraphException(e);
} finally {
if (bd != null)
bd.close();
}
globals.checkedFlush();
}
示例9: deleteElementRanges
import org.apache.accumulo.core.client.BatchDeleter; //导入依赖的package包/类
public static void deleteElementRanges(BatchDeleter deleter, Element... elements) {
List<Range> ranges = new LinkedList<Range>();
for (Element element : elements) {
ranges.add(new Range(element.getId().toString()));
}
deleter.setRanges(ranges);
try {
deleter.delete();
} catch (Exception e) {
throw new AccumuloGraphException(e);
}
}
示例10: getDeleter
import org.apache.accumulo.core.client.BatchDeleter; //导入依赖的package包/类
protected BatchDeleter getDeleter() {
try {
return globals.getConfig().getConnector().createBatchDeleter(tableName,
globals.getConfig().getAuthorizations(), globals.getConfig().getMaxWriteThreads(),
globals.getConfig().getBatchWriterConfig());
} catch (Exception e) {
throw new AccumuloGraphException(e);
}
}
示例11: deleteAll
import org.apache.accumulo.core.client.BatchDeleter; //导入依赖的package包/类
@Override
public boolean deleteAll(
final String tableName,
final String columnFamily,
final String... additionalAuthorizations ) {
BatchDeleter deleter = null;
try {
deleter = createBatchDeleter(
tableName,
additionalAuthorizations);
deleter.setRanges(Arrays.asList(new Range()));
deleter.fetchColumnFamily(new Text(
columnFamily));
deleter.delete();
return true;
}
catch (final TableNotFoundException | MutationsRejectedException e) {
LOGGER.warn(
"Unable to delete row from table [" + tableName + "].",
e);
return false;
}
finally {
if (deleter != null) {
deleter.close();
}
}
}
示例12: deleteAll
import org.apache.accumulo.core.client.BatchDeleter; //导入依赖的package包/类
@Override
protected boolean deleteAll(
final String tableName,
final String columnFamily,
final String... additionalAuthorizations ) {
BatchDeleter deleter = null;
try {
deleter = accumuloOperations.createBatchDeleter(
tableName,
additionalAuthorizations);
deleter.setRanges(Arrays.asList(new Range()));
deleter.fetchColumnFamily(new Text(
columnFamily));
deleter.delete();
return true;
}
catch (final TableNotFoundException | MutationsRejectedException e) {
LOGGER.warn(
"Unable to delete row from table [" + tableName + "].",
e);
return false;
}
finally {
if (deleter != null) {
deleter.close();
}
}
}
示例13: initCloseableIterator
import org.apache.accumulo.core.client.BatchDeleter; //导入依赖的package包/类
@Override
protected CloseableIterator<T> initCloseableIterator(
ScannerBase scanner,
Iterator it ) {
return new CloseableIteratorWrapper(
new Closeable() {
boolean closed = false;
@Override
public void close()
throws IOException {
if (!closed) {
if (scanner instanceof BatchDeleter) {
try {
((BatchDeleter) scanner).delete();
}
catch (MutationsRejectedException | TableNotFoundException e) {
LOGGER.warn(
"Unable to delete rows by query constraints",
e);
}
}
scanner.close();
}
closed = true;
}
},
it);
}
示例14: createScanner
import org.apache.accumulo.core.client.BatchDeleter; //导入依赖的package包/类
@Override
protected ScannerBase createScanner(
AccumuloOperations accumuloOperations,
String tableName,
boolean batchScanner,
String... authorizations )
throws TableNotFoundException {
BatchDeleter deleter = accumuloOperations.createBatchDeleter(
tableName,
authorizations);
deleter.removeScanIterator(BatchDeleter.class.getName() + ".NOVALUE");
return deleter;
}
示例15: initCloseableIterator
import org.apache.accumulo.core.client.BatchDeleter; //导入依赖的package包/类
@Override
protected CloseableIterator<Object> initCloseableIterator(
ScannerBase scanner,
Iterator it ) {
return new CloseableIteratorWrapper(
new Closeable() {
boolean closed = false;
@Override
public void close()
throws IOException {
if (!closed) {
if (scanner instanceof BatchDeleter) {
try {
((BatchDeleter) scanner).delete();
}
catch (MutationsRejectedException | TableNotFoundException e) {
LOGGER.warn(
"Unable to delete rows by query constraints",
e);
}
}
scanner.close();
}
closed = true;
}
},
it);
}