Interface TableOperations
public interface TableOperations
Provides a class for administering tables
-
Method Summary
Modifier and TypeMethodDescriptionint
addConstraint
(String tableName, String constraintClassName) Add a new constraint to a table.void
Ensures that tablets are split along a set of keys.void
attachIterator
(String tableName, IteratorSetting setting) Add an iterator to a table on all scopes.void
attachIterator
(String tableName, IteratorSetting setting, EnumSet<org.apache.accumulo.core.iterators.IteratorUtil.IteratorScope> scopes) Add an iterator to a table on the given scopes.void
cancelCompaction
(String tableName) Cancels a user initiated major compaction of a table initiated withcompact(String, Text, Text, boolean, boolean)
orcompact(String, Text, Text, List, boolean, boolean)
.void
checkIteratorConflicts
(String tableName, IteratorSetting setting, EnumSet<org.apache.accumulo.core.iterators.IteratorUtil.IteratorScope> scopes) Check whether a given iterator configuration conflicts with existing configuration; in particular, determine if the name or priority are already in use for the specified scopes.void
clearLocatorCache
(String tableName) Clears the tablet locator cache for a specified tablevoid
clearSamplerConfiguration
(String tableName) Clear all sampling configuration properties on the table.void
clone
(String srcTableName, String newTableName, boolean flush, Map<String, String> propertiesToSet, Set<String> propertiesToExclude) Clone a table from an existing table.void
clone
(String srcTableName, String newTableName, CloneConfiguration config) Clone a table from an existing table.void
compact
(String tableName, CompactionConfig config) Starts a full major compaction of the tablets in the range (start, end].void
compact
(String tableName, org.apache.hadoop.io.Text start, org.apache.hadoop.io.Text end, boolean flush, boolean wait) Starts a full major compaction of the tablets in the range (start, end].void
compact
(String tableName, org.apache.hadoop.io.Text start, org.apache.hadoop.io.Text end, List<IteratorSetting> iterators, boolean flush, boolean wait) Starts a full major compaction of the tablets in the range (start, end].void
Create a table with no special configurationvoid
Deprecated.void
Deprecated.since 1.7.0; usecreate(String, NewTableConfiguration)
instead.void
create
(String tableName, NewTableConfiguration ntc) void
Delete a tablevoid
deleteRows
(String tableName, org.apache.hadoop.io.Text start, org.apache.hadoop.io.Text end) Delete rows between (start, end]boolean
A method to check if a table exists in Accumulo.void
exportTable
(String tableName, String exportDir) Exports a table.void
Deprecated.since 1.4; useflush(String, Text, Text, boolean)
insteadvoid
flush
(String tableName, org.apache.hadoop.io.Text start, org.apache.hadoop.io.Text end, boolean wait) Flush a table's data that is currently in memory.getDiskUsage
(Set<String> tables) Gets the number of bytes being used in the files for a set of tablesgetIteratorSetting
(String tableName, String name, org.apache.accumulo.core.iterators.IteratorUtil.IteratorScope scope) Get the settings for an iterator.getLocalityGroups
(String tableName) Gets the locality groups currently set for a table.org.apache.hadoop.io.Text
getMaxRow
(String tableName, Authorizations auths, org.apache.hadoop.io.Text startRow, boolean startInclusive, org.apache.hadoop.io.Text endRow, boolean endInclusive) Finds the max row within a given range.getProperties
(String tableName) Gets properties of a table.getSamplerConfiguration
(String tableName) Reads the sampling configuration properties for a table.Collection<org.apache.hadoop.io.Text>
Deprecated.since 1.5.0; uselistSplits(String)
instead.Collection<org.apache.hadoop.io.Text>
Deprecated.since 1.5.0; uselistSplits(String, int)
instead.void
importDirectory
(String tableName, String dir, String failureDir, boolean setTime) Bulk import all the files in a directory into a table.void
importTable
(String tableName, String importDir) Imports a table exported via exportTable and copied via hadoop distcp.list()
Retrieve a list of tables in Accumulo.listConstraints
(String tableName) List constraints on a table with their assigned numbers.listIterators
(String tableName) Get a list of iterators for this table.Collection<org.apache.hadoop.io.Text>
listSplits
(String tableName) Collection<org.apache.hadoop.io.Text>
listSplits
(String tableName, int maxSplits) locate
(String tableName, Collection<Range> ranges) Locates the tablet servers and tablets that would service a collections of ranges.void
Merge tablets between (start, end]void
Initiates taking a table offline, but does not wait for action to completevoid
void
Initiates bringing a table online, but does not wait for action to completevoid
void
removeConstraint
(String tableName, int number) Remove a constraint from a table.void
removeIterator
(String tableName, String name, EnumSet<org.apache.accumulo.core.iterators.IteratorUtil.IteratorScope> scopes) Remove an iterator from a table by name.void
removeProperty
(String tableName, String property) Removes a property from a table.void
Rename a tablevoid
setLocalityGroups
(String tableName, Map<String, Set<org.apache.hadoop.io.Text>> groups) Sets a table's locality groups.void
setProperty
(String tableName, String property, String value) Sets a property on a table.void
setSamplerConfiguration
(String tableName, SamplerConfiguration samplerConfiguration) Set or update the sampler configuration for a table.splitRangeByTablets
(String tableName, Range range, int maxSplits) Get a mapping of table name to internal table id.boolean
testClassLoad
(String tableName, String className, String asTypeName) Test to see if the instance can load the given class as the given type.
-
Method Details
-
list
Retrieve a list of tables in Accumulo.- Returns:
- List of tables in accumulo
-
exists
A method to check if a table exists in Accumulo.- Parameters:
tableName
- the name of the table- Returns:
- true if the table exists
-
create
void create(String tableName) throws AccumuloException, AccumuloSecurityException, TableExistsException Create a table with no special configuration- Parameters:
tableName
- the name of the table- Throws:
AccumuloException
- if a general error occursAccumuloSecurityException
- if the user does not have permissionTableExistsException
- if the table already exists
-
create
@Deprecated void create(String tableName, boolean limitVersion) throws AccumuloException, AccumuloSecurityException, TableExistsException Deprecated.since 1.7.0; usecreate(String, NewTableConfiguration)
instead.- Parameters:
tableName
- the name of the tablelimitVersion
- Enables/disables the versioning iterator, which will limit the number of Key versions kept.- Throws:
AccumuloException
- if a general error occursAccumuloSecurityException
- if the user does not have permissionTableExistsException
- if the table already exists
-
create
@Deprecated void create(String tableName, boolean versioningIter, TimeType timeType) throws AccumuloException, AccumuloSecurityException, TableExistsException Deprecated.since 1.7.0; usecreate(String, NewTableConfiguration)
instead.- Parameters:
tableName
- the name of the tableversioningIter
- Enables/disables the versioning iterator, which will limit the number of Key versions kept.timeType
- specifies logical or real-time based time recording for entries in the table- Throws:
AccumuloException
- if a general error occursAccumuloSecurityException
- if the user does not have permissionTableExistsException
- if the table already exists
-
create
void create(String tableName, NewTableConfiguration ntc) throws AccumuloSecurityException, AccumuloException, TableExistsException - Parameters:
tableName
- the name of the tablentc
- specifies the new table's configuration variable, which are: 1. enable/disable the versioning iterator, which will limit the number of Key versions kept; 2. specifies logical or real-time based time recording for entries in the table; 3. user defined properties to be merged into the initial properties of the table- Throws:
AccumuloException
- if a general error occursAccumuloSecurityException
- if the user does not have permissionTableExistsException
- if the table already exists- Since:
- 1.7.0
-
importTable
void importTable(String tableName, String importDir) throws TableExistsException, AccumuloException, AccumuloSecurityException Imports a table exported via exportTable and copied via hadoop distcp.- Parameters:
tableName
- Name of a table to create and import into.importDir
- Directory that contains the files copied by distcp from exportTable- Throws:
TableExistsException
AccumuloException
AccumuloSecurityException
- Since:
- 1.5.0
-
exportTable
void exportTable(String tableName, String exportDir) throws TableNotFoundException, AccumuloException, AccumuloSecurityException Exports a table. The tables data is not exported, just table metadata and a list of files to distcp. The table being exported must be offline and stay offline for the duration of distcp. To avoid losing access to a table it can be cloned and the clone taken offline for export.See docs/examples/README.export
- Parameters:
tableName
- Name of the table to export.exportDir
- An empty directory in HDFS where files containing table metadata and list of files to distcp will be placed.- Throws:
TableNotFoundException
AccumuloException
AccumuloSecurityException
- Since:
- 1.5.0
-
addSplits
void addSplits(String tableName, SortedSet<org.apache.hadoop.io.Text> partitionKeys) throws TableNotFoundException, AccumuloException, AccumuloSecurityException Ensures that tablets are split along a set of keys.Note that while the documentation for Text specifies that its bytestream should be UTF-8, the encoding is not enforced by operations that work with byte arrays.
For example, you can create 256 evenly-sliced splits via the following code sample even though the given byte sequences are not valid UTF-8.
TableOperations tableOps = connector.tableOperations(); TreeSet<Text> splits = new TreeSet<Text>(); for (int i = 0; i < 256; i++) { byte[] bytes = {(byte) i}; splits.add(new Text(bytes)); } tableOps.addSplits(TABLE_NAME, splits);
- Parameters:
tableName
- the name of the tablepartitionKeys
- a sorted set of row key values to pre-split the table on- Throws:
AccumuloException
- if a general error occursAccumuloSecurityException
- if the user does not have permissionTableNotFoundException
- if the table does not exist
-
getSplits
@Deprecated Collection<org.apache.hadoop.io.Text> getSplits(String tableName) throws TableNotFoundException Deprecated.since 1.5.0; uselistSplits(String)
instead.- Parameters:
tableName
- the name of the table- Returns:
- the split points (end-row names) for the table's current split profile
- Throws:
TableNotFoundException
- if the table does not exist
-
listSplits
Collection<org.apache.hadoop.io.Text> listSplits(String tableName) throws TableNotFoundException, AccumuloSecurityException, AccumuloException - Parameters:
tableName
- the name of the table- Returns:
- the split points (end-row names) for the table's current split profile
- Throws:
TableNotFoundException
- if the table does not existAccumuloException
- if a general error occursAccumuloSecurityException
- if the user does not have permission- Since:
- 1.5.0
-
getSplits
@Deprecated Collection<org.apache.hadoop.io.Text> getSplits(String tableName, int maxSplits) throws TableNotFoundException Deprecated.since 1.5.0; uselistSplits(String, int)
instead.- Parameters:
tableName
- the name of the tablemaxSplits
- specifies the maximum number of splits to return- Returns:
- the split points (end-row names) for the table's current split profile, grouped into fewer splits so as not to exceed maxSplits
- Throws:
TableNotFoundException
-
listSplits
Collection<org.apache.hadoop.io.Text> listSplits(String tableName, int maxSplits) throws TableNotFoundException, AccumuloSecurityException, AccumuloException - Parameters:
tableName
- the name of the tablemaxSplits
- specifies the maximum number of splits to return- Returns:
- the split points (end-row names) for the table's current split profile, grouped into fewer splits so as not to exceed maxSplits
- Throws:
AccumuloException
- if a general error occursAccumuloSecurityException
- if the user does not have permissionTableNotFoundException
- Since:
- 1.5.0
-
locate
Locations locate(String tableName, Collection<Range> ranges) throws AccumuloException, AccumuloSecurityException, TableNotFoundException Locates the tablet servers and tablets that would service a collections of ranges. If a range covers multiple tablets, it will occur multiple times in the returned map.- Parameters:
ranges
- The input ranges that should be mapped to tablet servers and tablets.- Throws:
TableOfflineException
- if the table is offline or goes offline during the operationAccumuloException
AccumuloSecurityException
TableNotFoundException
- Since:
- 1.8.0
-
getMaxRow
org.apache.hadoop.io.Text getMaxRow(String tableName, Authorizations auths, org.apache.hadoop.io.Text startRow, boolean startInclusive, org.apache.hadoop.io.Text endRow, boolean endInclusive) throws TableNotFoundException, AccumuloException, AccumuloSecurityException Finds the max row within a given range. To find the max row in a table, pass null for start and end row.- Parameters:
auths
- find the max row that can seen with these authsstartRow
- row to start looking at, null means -InfinitystartInclusive
- determines if the start row is includedendRow
- row to stop looking at, null means InfinityendInclusive
- determines if the end row is included- Returns:
- The max row in the range, or null if there is no visible data in the range.
- Throws:
TableNotFoundException
AccumuloException
AccumuloSecurityException
-
merge
void merge(String tableName, org.apache.hadoop.io.Text start, org.apache.hadoop.io.Text end) throws AccumuloException, AccumuloSecurityException, TableNotFoundException Merge tablets between (start, end]- Parameters:
tableName
- the table to mergestart
- first tablet to be merged contains the row after this row, null means the first tabletend
- last tablet to be merged contains this row, null means the last tablet- Throws:
AccumuloException
AccumuloSecurityException
TableNotFoundException
-
deleteRows
void deleteRows(String tableName, org.apache.hadoop.io.Text start, org.apache.hadoop.io.Text end) throws AccumuloException, AccumuloSecurityException, TableNotFoundException Delete rows between (start, end]- Parameters:
tableName
- the table to mergestart
- delete rows after this, null means the first row of the tableend
- last row to be deleted, inclusive, null means the last row of the table- Throws:
AccumuloException
AccumuloSecurityException
TableNotFoundException
-
compact
void compact(String tableName, org.apache.hadoop.io.Text start, org.apache.hadoop.io.Text end, boolean flush, boolean wait) throws AccumuloSecurityException, TableNotFoundException, AccumuloException Starts a full major compaction of the tablets in the range (start, end]. The compaction is preformed even for tablets that have only one file.- Parameters:
tableName
- the table to compactstart
- first tablet to be compacted contains the row after this row, null means the first tablet in tableend
- last tablet to be compacted contains this row, null means the last tablet in tableflush
- when true, table memory is flushed before compaction startswait
- when true, the call will not return until compactions are finished- Throws:
AccumuloSecurityException
TableNotFoundException
AccumuloException
-
compact
void compact(String tableName, org.apache.hadoop.io.Text start, org.apache.hadoop.io.Text end, List<IteratorSetting> iterators, boolean flush, boolean wait) throws AccumuloSecurityException, TableNotFoundException, AccumuloException Starts a full major compaction of the tablets in the range (start, end]. The compaction is preformed even for tablets that have only one file.- Parameters:
tableName
- the table to compactstart
- first tablet to be compacted contains the row after this row, null means the first tablet in tableend
- last tablet to be compacted contains this row, null means the last tablet in tableiterators
- A set of iterators that will be applied to each tablet compacted. If two or more concurrent calls to compact pass iterators, then only one will succeed and the others will fail.flush
- when true, table memory is flushed before compaction startswait
- when true, the call will not return until compactions are finished- Throws:
AccumuloSecurityException
TableNotFoundException
AccumuloException
- Since:
- 1.5.0
-
compact
void compact(String tableName, CompactionConfig config) throws AccumuloSecurityException, TableNotFoundException, AccumuloException Starts a full major compaction of the tablets in the range (start, end]. If the config does not specify a compaction strategy, then all files in a tablet are compacted. The compaction is performed even for tablets that have only one file.Only one compact call at a time can pass iterators and/or a compaction strategy. If two threads call compaction with iterators and/or a copmaction strategy, then one will fail.
- Parameters:
tableName
- the table to compactconfig
- the configuration to use- Throws:
AccumuloSecurityException
TableNotFoundException
AccumuloException
- Since:
- 1.7.0
-
cancelCompaction
void cancelCompaction(String tableName) throws AccumuloSecurityException, TableNotFoundException, AccumuloException Cancels a user initiated major compaction of a table initiated withcompact(String, Text, Text, boolean, boolean)
orcompact(String, Text, Text, List, boolean, boolean)
. Compactions of tablets that are currently running may finish, but new compactions of tablets will not start.- Parameters:
tableName
- the name of the table- Throws:
AccumuloException
- if a general error occursTableNotFoundException
- if the table does not existAccumuloSecurityException
- if the user does not have permission- Since:
- 1.5.0
-
delete
void delete(String tableName) throws AccumuloException, AccumuloSecurityException, TableNotFoundException Delete a table- Parameters:
tableName
- the name of the table- Throws:
AccumuloException
- if a general error occursAccumuloSecurityException
- if the user does not have permissionTableNotFoundException
- if the table does not exist
-
clone
void clone(String srcTableName, String newTableName, boolean flush, Map<String, String> propertiesToSet, Set<String> propertiesToExclude) throws AccumuloException, AccumuloSecurityException, TableNotFoundException, TableExistsExceptionClone a table from an existing table. The cloned table will have the same data as the source table it was created from. After cloning, the two tables can mutate independently. Initially the cloned table should not use any extra space, however as the source table and cloned table major compact extra space will be used by the clone. Initially the cloned table is only readable and writable by the user who created it.- Parameters:
srcTableName
- the table to clonenewTableName
- the name of the cloneflush
- determines if memory is flushed in the source table before cloning.propertiesToSet
- the sources tables properties are copied, this allows overriding of those propertiespropertiesToExclude
- do not copy these properties from the source table, just revert to system defaults- Throws:
AccumuloException
AccumuloSecurityException
TableNotFoundException
TableExistsException
-
clone
void clone(String srcTableName, String newTableName, CloneConfiguration config) throws AccumuloException, AccumuloSecurityException, TableNotFoundException, TableExistsException Clone a table from an existing table. The cloned table will have the same data as the source table it was created from. After cloning, the two tables can mutate independently. Initially the cloned table should not use any extra space, however as the source table and cloned table major compact extra space will be used by the clone. Initially the cloned table is only readable and writable by the user who created it.- Parameters:
srcTableName
- the table to clonenewTableName
- the name of the cloneconfig
- the clone command configuration- Throws:
AccumuloException
AccumuloSecurityException
TableNotFoundException
TableExistsException
- Since:
- 1.10 and 2.1
-
rename
void rename(String oldTableName, String newTableName) throws AccumuloSecurityException, TableNotFoundException, AccumuloException, TableExistsException Rename a table- Parameters:
oldTableName
- the old table namenewTableName
- the new table name, which must be in the same namespace as the oldTableName- Throws:
AccumuloException
- if a general error occursAccumuloSecurityException
- if the user does not have permissionTableNotFoundException
- if the old table name does not existTableExistsException
- if the new table name already exists
-
flush
Deprecated.since 1.4; useflush(String, Text, Text, boolean)
insteadInitiate a flush of a table's data that is in memory- Parameters:
tableName
- the name of the table- Throws:
AccumuloException
- if a general error occursAccumuloSecurityException
- if the user does not have permission
-
flush
void flush(String tableName, org.apache.hadoop.io.Text start, org.apache.hadoop.io.Text end, boolean wait) throws AccumuloException, AccumuloSecurityException, TableNotFoundException Flush a table's data that is currently in memory.- Parameters:
tableName
- the name of the tablewait
- if true the call will not return until all data present in memory when the call was is flushed if false will initiate a flush of data in memory, but will not wait for it to complete- Throws:
AccumuloException
- if a general error occursAccumuloSecurityException
- if the user does not have permissionTableNotFoundException
-
setProperty
void setProperty(String tableName, String property, String value) throws AccumuloException, AccumuloSecurityException Sets a property on a table. This operation is asynchronous and eventually consistent. Not all tablets in a table will acknowledge this new value immediately nor at the same time. Within a few seconds without another change, all tablets in a table should see the updated value. The clone table feature can be used if consistency is required.- Parameters:
tableName
- the name of the tableproperty
- the name of a per-table propertyvalue
- the value to set a per-table property to- Throws:
AccumuloException
- if a general error occursAccumuloSecurityException
- if the user does not have permission
-
removeProperty
void removeProperty(String tableName, String property) throws AccumuloException, AccumuloSecurityException Removes a property from a table. This operation is asynchronous and eventually consistent. Not all tablets in a table will acknowledge this altered value immediately nor at the same time. Within a few seconds without another change, all tablets in a table should see the altered value. The clone table feature can be used if consistency is required.- Parameters:
tableName
- the name of the tableproperty
- the name of a per-table property- Throws:
AccumuloException
- if a general error occursAccumuloSecurityException
- if the user does not have permission
-
getProperties
Iterable<Map.Entry<String,String>> getProperties(String tableName) throws AccumuloException, TableNotFoundException Gets properties of a table. This operation is asynchronous and eventually consistent. It is not guaranteed that all tablets in a table will return the same values. Within a few seconds without another change, all tablets in a table should be consistent. The clone table feature can be used if consistency is required.- Parameters:
tableName
- the name of the table- Returns:
- all properties visible by this table (system and per-table properties). Note that recently changed properties may not be visible immediately.
- Throws:
TableNotFoundException
- if the table does not existAccumuloException
-
setLocalityGroups
void setLocalityGroups(String tableName, Map<String, Set<org.apache.hadoop.io.Text>> groups) throws AccumuloException, AccumuloSecurityException, TableNotFoundExceptionSets a table's locality groups. A table's locality groups can be changed at any time.- Parameters:
tableName
- the name of the tablegroups
- mapping of locality group names to column families in the locality group- Throws:
AccumuloException
- if a general error occursAccumuloSecurityException
- if the user does not have permissionTableNotFoundException
- if the table does not exist
-
getLocalityGroups
Map<String,Set<org.apache.hadoop.io.Text>> getLocalityGroups(String tableName) throws AccumuloException, TableNotFoundException Gets the locality groups currently set for a table.- Parameters:
tableName
- the name of the table- Returns:
- mapping of locality group names to column families in the locality group
- Throws:
AccumuloException
- if a general error occursTableNotFoundException
- if the table does not exist
-
splitRangeByTablets
Set<Range> splitRangeByTablets(String tableName, Range range, int maxSplits) throws AccumuloException, AccumuloSecurityException, TableNotFoundException - Parameters:
tableName
- the name of the tablerange
- a range to splitmaxSplits
- the maximum number of splits- Returns:
- the range, split into smaller ranges that fall on boundaries of the table's split points as evenly as possible
- Throws:
AccumuloException
- if a general error occursAccumuloSecurityException
- if the user does not have permissionTableNotFoundException
- if the table does not exist
-
importDirectory
void importDirectory(String tableName, String dir, String failureDir, boolean setTime) throws TableNotFoundException, IOException, AccumuloException, AccumuloSecurityException Bulk import all the files in a directory into a table. Files can be created usingAccumuloFileOutputFormat
andRFile.newWriter()
- Parameters:
tableName
- the name of the tabledir
- the HDFS directory to find files for importingfailureDir
- the HDFS directory to place files that failed to be imported, must exist and be emptysetTime
- override the time values in the input files, and use the current time for all mutations- Throws:
IOException
- when there is an error reading/writing to HDFSAccumuloException
- when there is a general accumulo errorAccumuloSecurityException
- when the user does not have the proper permissionsTableNotFoundException
- when the table no longer exists
-
offline
void offline(String tableName) throws AccumuloSecurityException, AccumuloException, TableNotFoundException Initiates taking a table offline, but does not wait for action to complete- Parameters:
tableName
- the table to take offline- Throws:
AccumuloException
- when there is a general accumulo errorAccumuloSecurityException
- when the user does not have the proper permissionsTableNotFoundException
-
offline
void offline(String tableName, boolean wait) throws AccumuloSecurityException, AccumuloException, TableNotFoundException - Parameters:
tableName
- the table to take offlinewait
- if true, then will not return until table is offline- Throws:
AccumuloException
- when there is a general accumulo errorAccumuloSecurityException
- when the user does not have the proper permissionsTableNotFoundException
- Since:
- 1.6.0
-
online
void online(String tableName) throws AccumuloSecurityException, AccumuloException, TableNotFoundException Initiates bringing a table online, but does not wait for action to complete- Parameters:
tableName
- the table to take online- Throws:
AccumuloException
- when there is a general accumulo errorAccumuloSecurityException
- when the user does not have the proper permissionsTableNotFoundException
-
online
void online(String tableName, boolean wait) throws AccumuloSecurityException, AccumuloException, TableNotFoundException - Parameters:
tableName
- the table to take onlinewait
- if true, then will not return until table is online- Throws:
AccumuloException
- when there is a general accumulo errorAccumuloSecurityException
- when the user does not have the proper permissionsTableNotFoundException
- Since:
- 1.6.0
-
clearLocatorCache
Clears the tablet locator cache for a specified table- Parameters:
tableName
- the name of the table- Throws:
TableNotFoundException
- if table does not exist
-
tableIdMap
Get a mapping of table name to internal table id.- Returns:
- the map from table name to internal table id
-
attachIterator
void attachIterator(String tableName, IteratorSetting setting) throws AccumuloSecurityException, AccumuloException, TableNotFoundException Add an iterator to a table on all scopes.- Parameters:
tableName
- the name of the tablesetting
- object specifying the properties of the iterator- Throws:
AccumuloSecurityException
- thrown if the user does not have the ability to set properties on the tableTableNotFoundException
- throw if the table no longer existsIllegalArgumentException
- if the setting conflicts with any existing iteratorsAccumuloException
-
attachIterator
void attachIterator(String tableName, IteratorSetting setting, EnumSet<org.apache.accumulo.core.iterators.IteratorUtil.IteratorScope> scopes) throws AccumuloSecurityException, AccumuloException, TableNotFoundException Add an iterator to a table on the given scopes.- Parameters:
tableName
- the name of the tablesetting
- object specifying the properties of the iterator- Throws:
AccumuloSecurityException
- thrown if the user does not have the ability to set properties on the tableTableNotFoundException
- throw if the table no longer existsIllegalArgumentException
- if the setting conflicts with any existing iteratorsAccumuloException
-
removeIterator
void removeIterator(String tableName, String name, EnumSet<org.apache.accumulo.core.iterators.IteratorUtil.IteratorScope> scopes) throws AccumuloSecurityException, AccumuloException, TableNotFoundException Remove an iterator from a table by name.- Parameters:
tableName
- the name of the tablename
- the name of the iteratorscopes
- the scopes of the iterator- Throws:
AccumuloSecurityException
- thrown if the user does not have the ability to set properties on the tableTableNotFoundException
- throw if the table no longer existsAccumuloException
-
getIteratorSetting
IteratorSetting getIteratorSetting(String tableName, String name, org.apache.accumulo.core.iterators.IteratorUtil.IteratorScope scope) throws AccumuloSecurityException, AccumuloException, TableNotFoundException Get the settings for an iterator.- Parameters:
tableName
- the name of the tablename
- the name of the iteratorscope
- the scope of the iterator- Returns:
- the settings for this iterator
- Throws:
AccumuloSecurityException
- thrown if the user does not have the ability to set properties on the tableTableNotFoundException
- throw if the table no longer existsAccumuloException
-
listIterators
Map<String,EnumSet<org.apache.accumulo.core.iterators.IteratorUtil.IteratorScope>> listIterators(String tableName) throws AccumuloSecurityException, AccumuloException, TableNotFoundException Get a list of iterators for this table.- Parameters:
tableName
- the name of the table- Returns:
- a set of iterator names
- Throws:
AccumuloSecurityException
AccumuloException
TableNotFoundException
-
checkIteratorConflicts
void checkIteratorConflicts(String tableName, IteratorSetting setting, EnumSet<org.apache.accumulo.core.iterators.IteratorUtil.IteratorScope> scopes) throws AccumuloException, TableNotFoundException Check whether a given iterator configuration conflicts with existing configuration; in particular, determine if the name or priority are already in use for the specified scopes.- Parameters:
tableName
- the name of the tablesetting
- object specifying the properties of the iterator- Throws:
AccumuloException
TableNotFoundException
-
addConstraint
int addConstraint(String tableName, String constraintClassName) throws AccumuloException, AccumuloSecurityException, TableNotFoundException Add a new constraint to a table.- Parameters:
tableName
- the name of the tableconstraintClassName
- the full name of the constraint class- Returns:
- the unique number assigned to the constraint
- Throws:
AccumuloException
- thrown if the constraint has already been added to the table or if there are errors in the configuration of existing constraintsAccumuloSecurityException
- thrown if the user doesn't have permission to add the constraintTableNotFoundException
- Since:
- 1.5.0
-
removeConstraint
void removeConstraint(String tableName, int number) throws AccumuloException, AccumuloSecurityException Remove a constraint from a table.- Parameters:
tableName
- the name of the tablenumber
- the unique number assigned to the constraint- Throws:
AccumuloSecurityException
- thrown if the user doesn't have permission to remove the constraintAccumuloException
- Since:
- 1.5.0
-
listConstraints
Map<String,Integer> listConstraints(String tableName) throws AccumuloException, TableNotFoundException List constraints on a table with their assigned numbers.- Parameters:
tableName
- the name of the table- Returns:
- a map from constraint class name to assigned number
- Throws:
AccumuloException
- thrown if there are errors in the configuration of existing constraintsTableNotFoundException
- Since:
- 1.5.0
-
getDiskUsage
List<DiskUsage> getDiskUsage(Set<String> tables) throws AccumuloException, AccumuloSecurityException, TableNotFoundException Gets the number of bytes being used in the files for a set of tables- Parameters:
tables
- a set of tables- Returns:
- a list of disk usage objects containing linked table names and sizes
- Throws:
AccumuloException
AccumuloSecurityException
TableNotFoundException
- Since:
- 1.6.0
-
testClassLoad
boolean testClassLoad(String tableName, String className, String asTypeName) throws AccumuloException, AccumuloSecurityException, TableNotFoundException Test to see if the instance can load the given class as the given type. This check uses the table classpath if it is set.- Returns:
- true if the instance can load the given class as the given type, false otherwise
- Throws:
AccumuloException
AccumuloSecurityException
TableNotFoundException
- Since:
- 1.5.0
-
setSamplerConfiguration
void setSamplerConfiguration(String tableName, SamplerConfiguration samplerConfiguration) throws TableNotFoundException, AccumuloException, AccumuloSecurityException Set or update the sampler configuration for a table. If the table has existing sampler configuration, those properties will be cleared before setting the new table properties.- Parameters:
tableName
- the name of the table- Throws:
TableNotFoundException
AccumuloException
AccumuloSecurityException
- Since:
- 1.8.0
-
clearSamplerConfiguration
void clearSamplerConfiguration(String tableName) throws TableNotFoundException, AccumuloException, AccumuloSecurityException Clear all sampling configuration properties on the table.- Parameters:
tableName
- the name of the table- Throws:
TableNotFoundException
AccumuloException
AccumuloSecurityException
- Since:
- 1.8.0
-
getSamplerConfiguration
SamplerConfiguration getSamplerConfiguration(String tableName) throws TableNotFoundException, AccumuloException, AccumuloSecurityException Reads the sampling configuration properties for a table.- Parameters:
tableName
- the name of the table- Throws:
TableNotFoundException
AccumuloException
AccumuloSecurityException
- Since:
- 1.8.0
-
create(String, NewTableConfiguration)
instead.