Accessing Table Information with REST
Table information can be retrieved from any host that has HTTP access to the host where the WebHCat server is running. A Web browser or an HTTP client such as curl or wget can be used to verify the functionality.
The base URL for REST access to table information is http://<SERVERHOST>:50111/templeton/v1/ddl.
Examples of specific URLs:
http://<SERVERHOST>:50111/templeton/v1/ddl/database/?user.name=hive http://<SERVERHOST>:50111/templeton/v1/ddl/database/default/table/?user.name=hive http://<SERVERHOST>:50111/templeton/v1/ddl/database/default/table/groups?user.name=hive
Example output:
{"columns":[{"name":"name","type":"string"},{"name":"placeholder","type":"string"},{"name":"id","type":"int"}],"database":"default","table":"grouptable"}
Supported REST Endpoints
The General and DDL endpoints are supported, for accessing Hive metadata. If you need submission capabilities for MapReduce, Hive, or Pig jobs, consider using Oozie, which is a more mature interface. See Oozie Guide.
Category | Resource Type | Description |
---|---|---|
General | :version (GET) | Return a list of supported response types. |
status (GET) | Return the WebHCat server status. | |
version (GET) | Return a list of supported versions and the current version. | |
version/hive (GET) | Return the Hive version being run. | |
version/hadoop (GET) | Return the Hadoop version being run. | |
DDL | ddl (POST) | Perform an HCatalog DDL command. |
ddl/database (GET) | List HCatalog databases. | |
ddl/database/:db (GET) | Describe an HCatalog database. | |
ddl/database/:db (PUT) | Create an HCatalog database. | |
ddl/database/:db (DELETE) | Delete (drop) an HCatalog database. | |
ddl/database/:db/table (GET) | List the tables in an HCatalog database. | |
ddl/database/:db/table/:table (GET) | Describe an HCatalog table. | |
ddl/database/:db/table/:table (PUT) | Create a new HCatalog table. | |
ddl/database/:db/table/:table (POST) | Rename an HCatalog table. | |
ddl/database/:db/table/:table (DELETE) | Delete (drop) an HCatalog table. | |
ddl/database/:db/table/:existingtable/like/:newtable (PUT) | Create a new HCatalog table like an existing one. | |
ddl/database/:db/table/:table/partition (GET) | List all partitions in an HCatalog table. | |
ddl/database/:db/table/:table/partition/:partition (GET) | Describe a single partition in an HCatalog table. | |
ddl/database/:db/table/:table/partition/:partition (PUT) | Create a partition in an HCatalog table. | |
ddl/database/:db/table/:table/partition/:partition (DELETE) | Delete (drop) a partition in an HCatalog table. | |
ddl/database/:db/table/:table/column (GET) | List the columns in an HCatalog table. | |
ddl/database/:db/table/:table/column/:column (GET) | Describe a single column in an HCatalog table. | |
ddl/database/:db/table/:table/column/:column (PUT) | Create a column in an HCatalog table. | |
ddl/database/:db/table/:table/property (GET) | List table properties. | |
ddl/database/:db/table/:table/property/:property (GET) | Return the value of a single table property. | |
ddl/database/:db/table/:table/property/:property (PUT) | Set a table property. |