Class Connector

java.lang.Object
org.apache.accumulo.core.client.Connector
Direct Known Subclasses:
MockConnector

public abstract class Connector extends Object
Connector connects to an Accumulo instance and allows the user to request readers and writers for the instance as well as various objects that permit administrative operations. The Connector enforces security on the client side by forcing all API calls to be accompanied by user credentials.
  • Constructor Details

    • Connector

      public Connector()
  • Method Details

    • createBatchScanner

      public abstract BatchScanner createBatchScanner(String tableName, Authorizations authorizations, int numQueryThreads) throws TableNotFoundException
      Factory method to create a BatchScanner connected to Accumulo.
      Parameters:
      tableName - the name of the table to query
      authorizations - A set of authorization labels that will be checked against the column visibility of each key in order to filter data. The authorizations passed in must be a subset of the accumulo user's set of authorizations. If the accumulo user has authorizations (A1, A2) and authorizations (A2, A3) are passed, then an exception will be thrown.
      numQueryThreads - the number of concurrent threads to spawn for querying
      Returns:
      BatchScanner object for configuring and querying
      Throws:
      TableNotFoundException - when the specified table doesn't exist
    • createBatchDeleter

      @Deprecated public abstract BatchDeleter createBatchDeleter(String tableName, Authorizations authorizations, int numQueryThreads, long maxMemory, long maxLatency, int maxWriteThreads) throws TableNotFoundException
      Factory method to create a BatchDeleter connected to Accumulo.
      Parameters:
      tableName - the name of the table to query and delete from
      authorizations - A set of authorization labels that will be checked against the column visibility of each key in order to filter data. The authorizations passed in must be a subset of the accumulo user's set of authorizations. If the accumulo user has authorizations (A1, A2) and authorizations (A2, A3) are passed, then an exception will be thrown.
      numQueryThreads - the number of concurrent threads to spawn for querying
      maxMemory - size in bytes of the maximum memory to batch before writing
      maxLatency - size in milliseconds; set to 0 or Long.MAX_VALUE to allow the maximum time to hold a batch before writing
      maxWriteThreads - the maximum number of threads to use for writing data to the tablet servers
      Returns:
      BatchDeleter object for configuring and deleting
      Throws:
      TableNotFoundException - when the specified table doesn't exist
    • createBatchDeleter

      public abstract BatchDeleter createBatchDeleter(String tableName, Authorizations authorizations, int numQueryThreads, BatchWriterConfig config) throws TableNotFoundException
      Parameters:
      tableName - the name of the table to query and delete from
      authorizations - A set of authorization labels that will be checked against the column visibility of each key in order to filter data. The authorizations passed in must be a subset of the accumulo user's set of authorizations. If the accumulo user has authorizations (A1, A2) and authorizations (A2, A3) are passed, then an exception will be thrown.
      numQueryThreads - the number of concurrent threads to spawn for querying
      config - configuration used to create batch writer
      Returns:
      BatchDeleter object for configuring and deleting
      Throws:
      TableNotFoundException
      Since:
      1.5.0
    • createBatchWriter

      @Deprecated public abstract BatchWriter createBatchWriter(String tableName, long maxMemory, long maxLatency, int maxWriteThreads) throws TableNotFoundException
      Deprecated.
      Factory method to create a BatchWriter connected to Accumulo.
      Parameters:
      tableName - the name of the table to insert data into
      maxMemory - size in bytes of the maximum memory to batch before writing
      maxLatency - time in milliseconds; set to 0 or Long.MAX_VALUE to allow the maximum time to hold a batch before writing
      maxWriteThreads - the maximum number of threads to use for writing data to the tablet servers
      Returns:
      BatchWriter object for configuring and writing data to
      Throws:
      TableNotFoundException - when the specified table doesn't exist
    • createBatchWriter

      public abstract BatchWriter createBatchWriter(String tableName, BatchWriterConfig config) throws TableNotFoundException
      Factory method to create a BatchWriter connected to Accumulo.
      Parameters:
      tableName - the name of the table to insert data into
      config - configuration used to create batch writer
      Returns:
      BatchWriter object for configuring and writing data to
      Throws:
      TableNotFoundException
      Since:
      1.5.0
    • createMultiTableBatchWriter

      @Deprecated public abstract MultiTableBatchWriter createMultiTableBatchWriter(long maxMemory, long maxLatency, int maxWriteThreads)
      Deprecated.
      Factory method to create a Multi-Table BatchWriter connected to Accumulo. Multi-table batch writers can queue data for multiple tables, which is good for ingesting data into multiple tables from the same source
      Parameters:
      maxMemory - size in bytes of the maximum memory to batch before writing
      maxLatency - size in milliseconds; set to 0 or Long.MAX_VALUE to allow the maximum time to hold a batch before writing
      maxWriteThreads - the maximum number of threads to use for writing data to the tablet servers
      Returns:
      MultiTableBatchWriter object for configuring and writing data to
    • createMultiTableBatchWriter

      public abstract MultiTableBatchWriter createMultiTableBatchWriter(BatchWriterConfig config)
      Factory method to create a Multi-Table BatchWriter connected to Accumulo. Multi-table batch writers can queue data for multiple tables. Also data for multiple tables can be sent to a server in a single batch. Its an efficient way to ingest data into multiple tables from a single process.
      Parameters:
      config - configuration used to create multi-table batch writer
      Returns:
      MultiTableBatchWriter object for configuring and writing data to
      Since:
      1.5.0
    • createScanner

      public abstract Scanner createScanner(String tableName, Authorizations authorizations) throws TableNotFoundException
      Factory method to create a Scanner connected to Accumulo.
      Parameters:
      tableName - the name of the table to query data from
      authorizations - A set of authorization labels that will be checked against the column visibility of each key in order to filter data. The authorizations passed in must be a subset of the accumulo user's set of authorizations. If the accumulo user has authorizations (A1, A2) and authorizations (A2, A3) are passed, then an exception will be thrown.
      Returns:
      Scanner object for configuring and querying data with
      Throws:
      TableNotFoundException - when the specified table doesn't exist
    • createConditionalWriter

      public abstract ConditionalWriter createConditionalWriter(String tableName, ConditionalWriterConfig config) throws TableNotFoundException
      Factory method to create a ConditionalWriter connected to Accumulo.
      Parameters:
      tableName - the name of the table to query data from
      config - configuration used to create conditional writer
      Returns:
      ConditionalWriter object for writing ConditionalMutations
      Throws:
      TableNotFoundException - when the specified table doesn't exist
      Since:
      1.6.0
    • getInstance

      public abstract Instance getInstance()
      Accessor method for internal instance object.
      Returns:
      the internal instance object
    • whoami

      public abstract String whoami()
      Get the current user for this connector
      Returns:
      the user name
    • tableOperations

      public abstract TableOperations tableOperations()
      Retrieves a TableOperations object to perform table functions, such as create and delete.
      Returns:
      an object to manipulate tables
    • namespaceOperations

      public abstract NamespaceOperations namespaceOperations()
      Retrieves a NamespaceOperations object to perform namespace functions, such as create and delete.
      Returns:
      an object to manipulate namespaces
    • securityOperations

      public abstract SecurityOperations securityOperations()
      Retrieves a SecurityOperations object to perform user security operations, such as creating users.
      Returns:
      an object to modify users and permissions
    • instanceOperations

      public abstract InstanceOperations instanceOperations()
      Retrieves an InstanceOperations object to modify instance configuration.
      Returns:
      an object to modify instance configuration
    • replicationOperations

      public abstract ReplicationOperations replicationOperations()
      Retrieves a ReplicationOperations object to manage replication configuration.
      Returns:
      an object to modify replication configuration
      Since:
      1.7.0