|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.accumulo.core.client.impl.TableOperationsHelper org.apache.accumulo.core.client.impl.TableOperationsImpl
public class TableOperationsImpl
Field Summary | |
---|---|
static String |
CLONE_EXCLUDE_PREFIX
|
Constructor Summary | |
---|---|
TableOperationsImpl(Instance instance,
Credentials credentials)
|
Method Summary | |
---|---|
int |
addConstraint(String tableName,
String constraintClassName)
Add a new constraint to a table. |
void |
addSplits(String tableName,
SortedSet<org.apache.hadoop.io.Text> partitionKeys)
Ensures that tablets are split along a set of keys. |
void |
attachIterator(String tableName,
IteratorSetting setting,
EnumSet<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 with TableOperations.compact(String, Text, Text, boolean, boolean) or
TableOperations.compact(String, Text, Text, List, boolean, boolean) . |
void |
clearLocatorCache(String tableName)
Clears the tablet locator cache for a specified table |
void |
clone(String srcTableName,
String newTableName,
boolean flush,
Map<String,String> propertiesToSet,
Set<String> propertiesToExclude)
Clone a table from an existing table. |
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(String tableName)
Create a table with no special configuration |
void |
create(String tableName,
boolean limitVersion)
|
void |
create(String tableName,
boolean limitVersion,
TimeType timeType)
|
protected IsolatedScanner |
createMetadataScanner(Instance inst,
Credentials creds,
String metaTable,
Range range)
Create an IsolatedScanner over the given table, fetching the columns necessary to determine when a table has transitioned to online or offline. |
void |
delete(String tableName)
Delete a table |
void |
deleteRows(String tableName,
org.apache.hadoop.io.Text start,
org.apache.hadoop.io.Text end)
Delete rows between (start, end] |
boolean |
exists(String tableName)
A method to check if a table exists in Accumulo. |
void |
exportTable(String tableName,
String exportDir)
Exports a table. |
void |
flush(String tableName)
Deprecated. since 1.4 flush(String, Text, Text, boolean) |
void |
flush(String tableName,
org.apache.hadoop.io.Text start,
org.apache.hadoop.io.Text end,
boolean wait)
Flush a table |
List<DiskUsage> |
getDiskUsage(Set<String> tableNames)
Gets the number of bytes being used in the files for a set of tables |
static Map<String,String> |
getExportedProps(org.apache.hadoop.fs.FileSystem fs,
org.apache.hadoop.fs.Path path)
|
Map<String,Set<org.apache.hadoop.io.Text>> |
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. |
Iterable<Map.Entry<String,String>> |
getProperties(String tableName)
Gets properties of a table |
Collection<org.apache.hadoop.io.Text> |
getSplits(String tableName)
Deprecated. |
Collection<org.apache.hadoop.io.Text> |
getSplits(String tableName,
int maxSplits)
Deprecated. |
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. |
SortedSet<String> |
list()
Retrieve a list of tables in Accumulo. |
Collection<org.apache.hadoop.io.Text> |
listSplits(String tableName)
|
Collection<org.apache.hadoop.io.Text> |
listSplits(String tableName,
int maxSplits)
|
void |
merge(String tableName,
org.apache.hadoop.io.Text start,
org.apache.hadoop.io.Text end)
Merge tablets between (start, end] |
void |
offline(String tableName)
Initiates taking a table offline, but does not wait for action to complete |
void |
offline(String tableName,
boolean wait)
|
void |
online(String tableName)
Initiates bringing a table online, but does not wait for action to complete |
void |
online(String tableName,
boolean wait)
|
void |
removeProperty(String tableName,
String property)
Removes a property from a table |
void |
rename(String oldTableName,
String newTableName)
Rename a table |
void |
setLocalityGroups(String tableName,
Map<String,Set<org.apache.hadoop.io.Text>> groups)
Sets a tables locality groups. |
void |
setProperty(String tableName,
String property,
String value)
Sets a property on a table |
Set<Range> |
splitRangeByTablets(String tableName,
Range range,
int maxSplits)
|
Map<String,String> |
tableIdMap()
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. |
Methods inherited from class org.apache.accumulo.core.client.impl.TableOperationsHelper |
---|
attachIterator, checkIteratorConflicts, getIteratorSetting, listConstraints, listIterators, removeConstraint, removeIterator |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final String CLONE_EXCLUDE_PREFIX
Constructor Detail |
---|
public TableOperationsImpl(Instance instance, Credentials credentials)
instance
- the connection information for this instancecredentials
- the username/password for this connectionMethod Detail |
---|
public SortedSet<String> list()
public boolean exists(String tableName)
tableName
- the name of the table
public void create(String tableName) throws AccumuloException, AccumuloSecurityException, TableExistsException
tableName
- the name of the table
AccumuloException
- if a general error occurs
AccumuloSecurityException
- if the user does not have permission
TableExistsException
- if the table already existspublic void create(String tableName, boolean limitVersion) throws AccumuloException, AccumuloSecurityException, TableExistsException
tableName
- the name of the tablelimitVersion
- Enables/disables the versioning iterator, which will limit the number of Key versions kept.
AccumuloException
- if a general error occurs
AccumuloSecurityException
- if the user does not have permission
TableExistsException
- if the table already existspublic void create(String tableName, boolean limitVersion, TimeType timeType) throws AccumuloException, AccumuloSecurityException, TableExistsException
tableName
- the name of the tabletimeType
- specifies logical or real-time based time recording for entries in the tablelimitVersion
- Enables/disables the versioning iterator, which will limit the number of Key versions kept.
AccumuloException
- if a general error occurs
AccumuloSecurityException
- if the user does not have permission
TableExistsException
- if the table already existspublic void addSplits(String tableName, SortedSet<org.apache.hadoop.io.Text> partitionKeys) throws TableNotFoundException, AccumuloException, AccumuloSecurityException
TableOperations
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);
tableName
- the name of the tablepartitionKeys
- a sorted set of row key values to pre-split the table on
AccumuloException
- if a general error occurs
AccumuloSecurityException
- if the user does not have permission
TableNotFoundException
- if the table does not existpublic void merge(String tableName, org.apache.hadoop.io.Text start, org.apache.hadoop.io.Text end) throws AccumuloException, AccumuloSecurityException, TableNotFoundException
TableOperations
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
AccumuloException
AccumuloSecurityException
TableNotFoundException
public void deleteRows(String tableName, org.apache.hadoop.io.Text start, org.apache.hadoop.io.Text end) throws AccumuloException, AccumuloSecurityException, TableNotFoundException
TableOperations
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
AccumuloException
AccumuloSecurityException
TableNotFoundException
public Collection<org.apache.hadoop.io.Text> listSplits(String tableName) throws TableNotFoundException, AccumuloSecurityException
tableName
- the name of the table
TableNotFoundException
- if the table does not exist
AccumuloSecurityException
- if the user does not have permission@Deprecated public Collection<org.apache.hadoop.io.Text> getSplits(String tableName) throws TableNotFoundException
tableName
- the name of the table
TableNotFoundException
- if the table does not existpublic Collection<org.apache.hadoop.io.Text> listSplits(String tableName, int maxSplits) throws TableNotFoundException, AccumuloSecurityException
tableName
- the name of the tablemaxSplits
- specifies the maximum number of splits to return
AccumuloSecurityException
- if the user does not have permission
TableNotFoundException
@Deprecated public Collection<org.apache.hadoop.io.Text> getSplits(String tableName, int maxSplits) throws TableNotFoundException
tableName
- the name of the tablemaxSplits
- specifies the maximum number of splits to return
TableNotFoundException
public void delete(String tableName) throws AccumuloException, AccumuloSecurityException, TableNotFoundException
tableName
- the name of the table
AccumuloException
- if a general error occurs
AccumuloSecurityException
- if the user does not have permission
TableNotFoundException
- if the table does not existpublic void clone(String srcTableName, String newTableName, boolean flush, Map<String,String> propertiesToSet, Set<String> propertiesToExclude) throws AccumuloSecurityException, TableNotFoundException, AccumuloException, TableExistsException
TableOperations
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
AccumuloSecurityException
TableNotFoundException
AccumuloException
TableExistsException
public void rename(String oldTableName, String newTableName) throws AccumuloSecurityException, TableNotFoundException, AccumuloException, TableExistsException
oldTableName
- the old table namenewTableName
- the new table name
AccumuloException
- if a general error occurs
AccumuloSecurityException
- if the user does not have permission
TableNotFoundException
- if the old table name does not exist
TableExistsException
- if the new table name already exists@Deprecated public void flush(String tableName) throws AccumuloException, AccumuloSecurityException
flush(String, Text, Text, boolean)
TableOperations
tableName
- the name of the table
AccumuloException
- if a general error occurs
AccumuloSecurityException
- if the user does not have permissionpublic void flush(String tableName, org.apache.hadoop.io.Text start, org.apache.hadoop.io.Text end, boolean wait) throws AccumuloException, AccumuloSecurityException, TableNotFoundException
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
AccumuloException
- if a general error occurs
AccumuloSecurityException
- if the user does not have permission
TableNotFoundException
public void compact(String tableName, org.apache.hadoop.io.Text start, org.apache.hadoop.io.Text end, boolean flush, boolean wait) throws AccumuloSecurityException, TableNotFoundException, AccumuloException
TableOperations
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 merged 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
AccumuloSecurityException
TableNotFoundException
AccumuloException
public 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
TableOperations
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 merged contains this row, null means the last tablet in tableiterators
- A set of iterators that will be applied to each tablet compactedflush
- when true, table memory is flushed before compaction startswait
- when true, the call will not return until compactions are finished
AccumuloSecurityException
TableNotFoundException
AccumuloException
public void cancelCompaction(String tableName) throws AccumuloSecurityException, TableNotFoundException, AccumuloException
TableOperations
TableOperations.compact(String, Text, Text, boolean, boolean)
or
TableOperations.compact(String, Text, Text, List, boolean, boolean)
. Compactions of tablets that are currently running may finish, but new compactions of tablets
will not start.
tableName
- the name of the table
AccumuloSecurityException
- if the user does not have permission
TableNotFoundException
- if the table does not exist
AccumuloException
- if a general error occurspublic void setProperty(String tableName, String property, String value) throws AccumuloException, AccumuloSecurityException
tableName
- the name of the tableproperty
- the name of a per-table propertyvalue
- the value to set a per-table property to
AccumuloException
- if a general error occurs
AccumuloSecurityException
- if the user does not have permissionpublic void removeProperty(String tableName, String property) throws AccumuloException, AccumuloSecurityException
tableName
- the name of the tableproperty
- the name of a per-table property
AccumuloException
- if a general error occurs
AccumuloSecurityException
- if the user does not have permissionpublic Iterable<Map.Entry<String,String>> getProperties(String tableName) throws AccumuloException, TableNotFoundException
tableName
- the name of the table
TableNotFoundException
- if the table does not exist
AccumuloException
public void setLocalityGroups(String tableName, Map<String,Set<org.apache.hadoop.io.Text>> groups) throws AccumuloException, AccumuloSecurityException, TableNotFoundException
tableName
- the name of the tablegroups
- mapping of locality group names to column families in the locality group
AccumuloException
- if a general error occurs
AccumuloSecurityException
- if the user does not have permission
TableNotFoundException
- if the table does not existpublic Map<String,Set<org.apache.hadoop.io.Text>> getLocalityGroups(String tableName) throws AccumuloException, TableNotFoundException
tableName
- the name of the table
AccumuloException
- if a general error occurs
TableNotFoundException
- if the table does not existpublic Set<Range> splitRangeByTablets(String tableName, Range range, int maxSplits) throws AccumuloException, AccumuloSecurityException, TableNotFoundException
tableName
- the name of the tablerange
- a range to splitmaxSplits
- the maximum number of splits
AccumuloException
- if a general error occurs
AccumuloSecurityException
- if the user does not have permission
TableNotFoundException
- if the table does not existpublic void importDirectory(String tableName, String dir, String failureDir, boolean setTime) throws IOException, AccumuloSecurityException, TableNotFoundException, AccumuloException
TableOperations
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
IOException
- when there is an error reading/writing to HDFS
AccumuloSecurityException
- when the user does not have the proper permissions
TableNotFoundException
- when the table no longer exists
AccumuloException
- when there is a general accumulo errorprotected IsolatedScanner createMetadataScanner(Instance inst, Credentials creds, String metaTable, Range range) throws TableNotFoundException, AccumuloException, AccumuloSecurityException
TableNotFoundException
AccumuloException
AccumuloSecurityException
public void offline(String tableName) throws AccumuloSecurityException, AccumuloException, TableNotFoundException
TableOperations
tableName
- the table to take offline
AccumuloSecurityException
- when the user does not have the proper permissions
AccumuloException
- when there is a general accumulo error
TableNotFoundException
public void offline(String tableName, boolean wait) throws AccumuloSecurityException, AccumuloException, TableNotFoundException
tableName
- the table to take offlinewait
- if true, then will not return until table is offline
AccumuloException
- when there is a general accumulo error
AccumuloSecurityException
- when the user does not have the proper permissions
TableNotFoundException
public void online(String tableName) throws AccumuloSecurityException, AccumuloException, TableNotFoundException
TableOperations
tableName
- the table to take online
AccumuloSecurityException
- when the user does not have the proper permissions
AccumuloException
- when there is a general accumulo error
TableNotFoundException
public void online(String tableName, boolean wait) throws AccumuloSecurityException, AccumuloException, TableNotFoundException
tableName
- the table to take onlinewait
- if true, then will not return until table is online
AccumuloException
- when there is a general accumulo error
AccumuloSecurityException
- when the user does not have the proper permissions
TableNotFoundException
public void clearLocatorCache(String tableName) throws TableNotFoundException
tableName
- the name of the table
TableNotFoundException
- if table does not existpublic Map<String,String> tableIdMap()
public 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
TableOperations
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
TableNotFoundException
AccumuloException
AccumuloSecurityException
public List<DiskUsage> getDiskUsage(Set<String> tableNames) throws AccumuloException, AccumuloSecurityException, TableNotFoundException
TableOperations
tableNames
- a set of tables
AccumuloException
AccumuloSecurityException
TableNotFoundException
public static Map<String,String> getExportedProps(org.apache.hadoop.fs.FileSystem fs, org.apache.hadoop.fs.Path path) throws IOException
IOException
public void importTable(String tableName, String importDir) throws TableExistsException, AccumuloException, AccumuloSecurityException
TableOperations
tableName
- Name of a table to create and import into.importDir
- Directory that contains the files copied by distcp from exportTable
TableExistsException
AccumuloException
AccumuloSecurityException
public void exportTable(String tableName, String exportDir) throws TableNotFoundException, AccumuloException, AccumuloSecurityException
TableOperations
See docs/examples/README.export
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.
TableNotFoundException
AccumuloException
AccumuloSecurityException
public boolean testClassLoad(String tableName, String className, String asTypeName) throws TableNotFoundException, AccumuloException, AccumuloSecurityException
TableOperations
TableNotFoundException
AccumuloException
AccumuloSecurityException
public void attachIterator(String tableName, IteratorSetting setting, EnumSet<IteratorUtil.IteratorScope> scopes) throws AccumuloSecurityException, AccumuloException, TableNotFoundException
TableOperations
attachIterator
in interface TableOperations
attachIterator
in class TableOperationsHelper
tableName
- the name of the tablesetting
- object specifying the properties of the iterator
AccumuloSecurityException
- thrown if the user does not have the ability to set properties on the table
TableNotFoundException
- throw if the table no longer exists
AccumuloException
public int addConstraint(String tableName, String constraintClassName) throws AccumuloException, AccumuloSecurityException, TableNotFoundException
TableOperations
addConstraint
in interface TableOperations
addConstraint
in class TableOperationsHelper
tableName
- the name of the tableconstraintClassName
- the full name of the constraint class
AccumuloException
- thrown if the constraint has already been added to the table or if there are errors in the configuration of existing constraints
AccumuloSecurityException
- thrown if the user doesn't have permission to add the constraint
TableNotFoundException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |