THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
– This document is a work in progress.
Overview
There are presently three ways to issue HCatalog DDL commands:
...
Code Block |
---|
public abstract class HCatClient { /** * Creates an instance of HCatClient. * * @param conf An instance of configuration. * @return An instance of HCatClient. * @throws IOException */ public static HCatClient create(Configuration conf) throws IOException{ //Implemented here. HCatClient client = HCatUtil.getHCatClient(conf); if(client != null){ client.initialize(conf); } return client; } abstract void initialize(Configuration conf) throws HCatException; /** * Get all existing databases that match the given * pattern. The matching occurs as per Java regular expressions * * @param databasePattern * java re pattern * @return list of database names * @throws HCatException */ public abstract List<String> listDatabaseNamesByPattern(String pattern) throws HCatException; /** * Gets the database. * * @param dbName The name of the database. * @return An instance of HCatDatabaseInfo. * @throws HCatException */ public abstract HCatDatabase getDatabase(String dbName) throws HCatException; /** * Creates the database. * * @param dbInfo An instance of HCatCreateDBDesc. * @throws HCatException */ public abstract void createDatabase(HCatCreateDBDesc dbInfo) throws HCatException; /** * Drops a database. * * @param dbName The name of the database to delete. * @param ifExists Hive returns an error if the database specified does not exist, * unless ifExists is set to true. * @param mode This is set to either "restrict" or "cascade". Restrict will * remove the schema if all the tables are empty. Cascade removes * everything including data and definitions. * @throws HCatException */ public abstract void dropDatabase(String dbName, boolean ifExists, String mode) throws HCatException; /** * Returns all existing tables from the specified database which match the given * pattern. The matching occurs as per Java regular expressions. * @param dbName * @param tablePattern * @return list of table names * @throws HCatException */ public abstract List<String> listTableNamesByPattern(String dbName, String tablePattern) throws HCatException; /** * Gets the table. * * @param dbName The name of the database. * @param tableName The name of the table. * @return An instance of HCatTableInfo. * @throws HCatException */ public abstract HCatTable getTable(String dbName, String tableName) throws HCatException; /** * Creates the table. * * @param createTableDesc An instance of HCatCreateTableDesc class. * @throws HCatException the h cat exception */ public abstract void createTable(HCatCreateTableDesc createTableDesc) throws HCatException; /** * Creates the table like an existing table. * * @param dbName The name of the database. * @param existingTblName The name of the existing table. * @param newTableName The name of the new table. * @param ifNotExists If true, then error related to already table existing is skipped. * @param isExternal Set to "true", if table has be created at a different * location other than default. * @param location The location for the table. * @throws HCatException */ public abstract void createTableLike(String dbName, String existingTblName, String newTableName, boolean ifNotExists, boolean isExternal, String location) throws HCatException; /** * Drop table. * * @param dbName The name of the database. * @param tableName The name of the table. * @param ifExists Hive returns an error if the database specified does not exist, * unless ifExists is set to true. * @throws HCatException */ public abstract void dropTable(String dbName, String tableName, boolean ifExists) throws HCatException; /** * Renames a table. * * @param dbName The name of the database. * @param oldName The name of the table to be renamed. * @param newName The new name of the table. * @throws HCatException */ public abstract void renameTable(String dbName, String oldName, String newName) throws HCatException; /** * Gets all the partitions. * * @param dbName The name of the database. * @param tblName The name of the table. * @return A list of partition names. * @throws HCatException the h cat exception */ public abstract List<HCatPartition> getPartitions(String dbName, String tblName) throws HCatException; /** * Gets the partition. * * @param dbName The database name. * @param tableName The table name. * @param partitionName The partition name, Comma separated list of col_name='value'. * @return An instance of HCatPartitionInfo. * @throws HCatException */ public abstract HCatPartition getPartition(String dbName, String tableName, String partitionName) throws HCatException; /** * Adds the partition. * * @param partInfo An instance of HCatAddPartitionDesc. * @throws HCatException the h cat exception */ public abstract void addPartition(HCatAddPartitionDesc partInfo) throws HCatException; /** * Drops partition. * * @param dbName The database name. * @param tableName The table name. * @param partitionName The partition name, Comma separated list of col_name='value'. * @param ifExists Hive returns an error if the partition specified does not exist, unless ifExists is set to true. * @throws HCatException */ public abstract void dropPartition(String dbName, String tableName, String partitionName, boolean ifExists) throws HCatException; /** * List partitions by filter. * * @param dbName The database name. * @param tblName The table name. * @param filter The filter string, * for example "part1 = \"p1_abc\" and part2 <= "\p2_test\"". Filtering can * be done only on string partition keys. * @return list of partitions * @throws HCatException the h cat exception */ public abstract List<HCatPartition> listPartitionsByFilter(String dbName, String tblName, String filter) throws HCatException; /** * Mark partition for event. * * @param dbName The database name. * @param tblName The table name. * @param partKVs the part k vs * @param eventType the event type * @throws HCatException the h cat exception */ public abstract void markPartitionForEvent(String dbName, String tblName, Map<String, String> partKVs, PartitionEventType eventType) throws HCatException; /** * Checks if is partition marked for event. * * @param dbName the db name * @param tblName the tbl name * @param partKVs the part k vs * @param eventType the event type * @return true, if is partition marked for event * @throws HCatException the h cat exception */ public abstract boolean isPartitionMarkedForEvent(String dbName, String tblName, Map<String, String> partKVs, PartitionEventType eventType) throws HCatException; /** * Gets the delegation token. * * @param owner the owner * @param renewerKerberosPrincipalName the renewer kerberos principal name * @return the delegation token * @throws HCatException the h cat exception */ public abstract String getDelegationToken(String owner, String renewerKerberosPrincipalName) throws HCatException; /** * Renew delegation token. * * @param tokenStrForm the token str form * @return the long * @throws HCatException the h cat exception */ public abstract long renewDelegationToken(String tokenStrForm) throws HCatException; /** * Cancel delegation token. * * @param tokenStrForm the token str form * @throws HCatException the h cat exception */ public abstract void cancelDelegationToken(String tokenStrForm) throws HCatException; /** * Close the hcatalog client. * * @throws HCatException the h cat exception */ public abstract void close() throws HCatException; |
...