metastore resource api
This provides api for all things metastore.
API to know if metastore service is up and running
| media type | data type | description |
|---|---|---|
| text/plain | (custom) | Simple text saying it up |
GET /metastore
Accept: text/plain
HTTP/1.1 200 OK
Content-Type: text/plain
...
Get all databases in the metastore
| name | type | description |
|---|---|---|
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | StringList (JSON) | StringList consisting of all database names. |
| application/json | StringList (JSON) | |
| application/xml | stringList (XML) |
GET /metastore/databases
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
{
"elements" : [ [ "...", "..." ], [ "...", "..." ] ]
}
Get the current database
| name | type | description |
|---|---|---|
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | string (JSON) | The current db name |
| application/json | string (JSON) | |
| application/xml | string (XML) |
GET /metastore/databases/current
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
...
Set the current db
| name | type | description |
|---|---|---|
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | string (JSON) | The db name |
| application/json | string (JSON) | |
| application/xml | string (XML) |
| media type | data type | description |
|---|---|---|
| application/json | APIResult (JSON) | APIResult with state Status#SUCCEEDED, if set was successful. APIResult with state Status#FAILED, if set has failed |
| application/json | APIResult (JSON) | |
| application/xml | APIResult (XML) |
PUT /metastore/databases/current
Content-Type: application/json
Accept: application/json
...
HTTP/1.1 204 No Content
Content-Type: application/json
{
"status" : "SUCCEEDED",
"message" : "...",
"fieldsToAppend" : [ [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ], [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ] ]
}
Delete the db specified by name. Deleting underlying tables is optional. If db does not exist, delete is ignored.
| name | type | description | constraints |
|---|---|---|---|
| dbName | path | The db name | |
| cascade | query | if true, all the tables inside the db will also be dropped. | boolean |
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | APIResult (JSON) | APIResult with state Status#SUCCEEDED, if delete was successful. APIResult with state Status#FAILED, if delete has failed |
| application/json | APIResult (JSON) | |
| application/xml | APIResult (XML) |
DELETE /metastore/databases/{dbName}
Accept: application/json
HTTP/1.1 204 No Content
Content-Type: application/json
{
"status" : "SUCCEEDED",
"message" : "...",
"fieldsToAppend" : [ [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ], [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ] ]
}
Create a new database
| name | type | description | default | constraints |
|---|---|---|---|---|
| ignoreIfExisting | query | If true, create will be ignored if db already exists, otherwise it fails. | true | boolean |
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | string (JSON) | The db name |
| application/json | string (JSON) | |
| application/xml | string (XML) |
| media type | data type | description |
|---|---|---|
| application/json | APIResult (JSON) | APIResult with state Status#SUCCEEDED, if create was successful. APIResult with state Status#FAILED, if create has failed |
| application/json | APIResult (JSON) | |
| application/xml | APIResult (XML) |
POST /metastore/databases
Content-Type: application/json
Accept: application/json
...
HTTP/1.1 201 Created
Content-Type: application/json
{
"status" : "SUCCEEDED",
"message" : "...",
"fieldsToAppend" : [ [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ], [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ] ]
}
Get all native tables.
| name | type | description |
|---|---|---|
| dbName | query | The db name. If not empty, the tables in the db will be returned |
| dbOption | query | The options available are 'current' and 'all'. If option is current, gives all tables from current db. If option is all, gives all tables from all databases. If dbname is passed, dbOption is ignored. If no dbOption or dbname are passed, then default is to get tables from current db. |
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | StringList (JSON) | StringList consisting of all table names. |
| application/json | StringList (JSON) | |
| application/xml | stringList (XML) |
GET /metastore/nativetables
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
{
"elements" : [ [ "...", "..." ], [ "...", "..." ] ]
}
Get the native table passed in name
| name | type | description |
|---|---|---|
| tableName | path | The native table name |
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | object (JSON) | JAXB representation of XNativeTable |
| application/json | object (JSON) | |
| application/xml | anyType (XML) |
GET /metastore/nativetables/{tableName}
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
...
Get all cubes in the metastores, of the specified type
| name | type | description | default |
|---|---|---|---|
| sessionid | query | The sessionid in which user is working | |
| type | query | The type of cubes. Accepted values are 'all' or 'base' or 'derived' or 'queryable' | all |
| media type | data type | description |
|---|---|---|
| application/json | StringList (JSON) | StringList consisting of all cubes names |
| application/json | StringList (JSON) | |
| application/xml | stringList (XML) |
GET /metastore/cubes
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
{
"elements" : [ [ "...", "..." ], [ "...", "..." ] ]
}
Delete all cubes
| name | type | description |
|---|---|---|
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | APIResult (JSON) | APIResult with state Status#SUCCEEDED in case of successful delete. APIResult with state in case of delete failure. APIResult with state Status#PARTIAL in case of partial delete. |
| application/json | APIResult (JSON) | |
| application/xml | APIResult (XML) |
DELETE /metastore/cubes
Accept: application/json
HTTP/1.1 204 No Content
Content-Type: application/json
{
"status" : "PARTIAL",
"message" : "...",
"fieldsToAppend" : [ [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ], [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ] ]
}
Create a new cube
| name | type | description |
|---|---|---|
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | XCube (JSON) | The XCube representation of the cube definition |
| application/json | XCube (JSON) | |
| application/xml | x_cube (XML) |
| media type | data type | description |
|---|---|---|
| application/json | APIResult (JSON) | APIResult with state Status#SUCCEEDED, if create was successful. APIResult with state Status#FAILED, if create has failed |
| application/json | APIResult (JSON) | |
| application/xml | APIResult (XML) |
POST /metastore/cubes
Content-Type: application/json
Accept: application/json
{
"properties" : {
"property" : [ [ {
"name" : "...",
"value" : "..."
}, {
"name" : "...",
"value" : "..."
} ], [ {
"name" : "...",
"value" : "..."
}, {
"name" : "...",
"value" : "..."
} ] ]
},
"name" : "...",
"description" : "..."
}
HTTP/1.1 201 Created
Content-Type: application/json
{
"status" : "PARTIAL",
"message" : "...",
"fieldsToAppend" : [ [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ], [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ] ]
}
Update cube definition
| name | type | description |
|---|---|---|
| cubeName | path | The cube name |
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | XCube (JSON) | The XCube representation of the updated cube definition |
| application/json | XCube (JSON) | |
| application/xml | x_cube (XML) |
| media type | data type | description |
|---|---|---|
| application/json | APIResult (JSON) | APIResult with state Status#SUCCEEDED, if update was successful. APIResult with state Status#FAILED, if update has failed |
| application/json | APIResult (JSON) | |
| application/xml | APIResult (XML) |
PUT /metastore/cubes/{cubeName}
Content-Type: application/json
Accept: application/json
{
"properties" : {
"property" : [ [ {
"name" : "...",
"value" : "..."
}, {
"name" : "...",
"value" : "..."
} ], [ {
"name" : "...",
"value" : "..."
}, {
"name" : "...",
"value" : "..."
} ] ]
},
"name" : "...",
"description" : "..."
}
HTTP/1.1 204 No Content
Content-Type: application/json
{
"status" : "PARTIAL",
"message" : "...",
"fieldsToAppend" : [ [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ], [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ] ]
}
Get the cube specified by name
| name | type | description |
|---|---|---|
| cubeName | path | The cube name |
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | object (JSON) | JAXB representation of XCube |
| application/json | object (JSON) | |
| application/xml | anyType (XML) |
GET /metastore/cubes/{cubeName}
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
...
Drop the cube, specified by name
| name | type | description |
|---|---|---|
| cubeName | path | The cube name |
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | APIResult (JSON) | APIResult with state Status#SUCCEEDED, if drop was successful. APIResult with state Status#FAILED, if drop has failed |
| application/json | APIResult (JSON) | |
| application/xml | APIResult (XML) |
DELETE /metastore/cubes/{cubeName}
Accept: application/json
HTTP/1.1 204 No Content
Content-Type: application/json
{
"status" : "SUCCEEDED",
"message" : "...",
"fieldsToAppend" : [ [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ], [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ] ]
}
Get all storages in the metastore
| name | type | description |
|---|---|---|
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | StringList (JSON) | StringList consisting of all the storage names |
| application/json | StringList (JSON) | |
| application/xml | stringList (XML) |
GET /metastore/storages
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
{
"elements" : [ [ "...", "..." ], [ "...", "..." ] ]
}
Create new storage
| name | type | description |
|---|---|---|
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | XStorage (JSON) | The XStorage representation of storage |
| application/json | XStorage (JSON) | |
| application/xml | x_storage (XML) |
| media type | data type | description |
|---|---|---|
| application/json | APIResult (JSON) | APIResult with state Status#SUCCEEDED, if create was successful. APIResult with state Status#FAILED, if create has failed |
| application/json | APIResult (JSON) | |
| application/xml | APIResult (XML) |
POST /metastore/storages
Content-Type: application/json
Accept: application/json
{
"properties" : {
"property" : [ [ {
"name" : "...",
"value" : "..."
}, {
"name" : "...",
"value" : "..."
} ], [ {
"name" : "...",
"value" : "..."
}, {
"name" : "...",
"value" : "..."
} ] ]
},
"name" : "...",
"classname" : "..."
}
HTTP/1.1 201 Created
Content-Type: application/json
{
"status" : "FAILED",
"message" : "...",
"fieldsToAppend" : [ [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ], [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ] ]
}
Delete all storages in metastore
| name | type | description |
|---|---|---|
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | APIResult (JSON) | APIResult with state Status#SUCCEEDED in case of successful delete. APIResult with state in case of delete failure. APIResult with state Status#PARTIAL in case of partial delete. |
| application/json | APIResult (JSON) | |
| application/xml | APIResult (XML) |
DELETE /metastore/storages
Accept: application/json
HTTP/1.1 204 No Content
Content-Type: application/json
{
"status" : "PARTIAL",
"message" : "...",
"fieldsToAppend" : [ [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ], [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ] ]
}
Update storage definition
| name | type | description |
|---|---|---|
| storageName | path | The storage name |
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | XStorage (JSON) | The XStorage representation of the updated storage definition |
| application/json | XStorage (JSON) | |
| application/xml | x_storage (XML) |
| media type | data type | description |
|---|---|---|
| application/json | APIResult (JSON) | APIResult with state Status#SUCCEEDED, if update was successful. APIResult with state Status#FAILED, if update has failed |
| application/json | APIResult (JSON) | |
| application/xml | APIResult (XML) |
PUT /metastore/storages/{storageName}
Content-Type: application/json
Accept: application/json
{
"properties" : {
"property" : [ [ {
"name" : "...",
"value" : "..."
}, {
"name" : "...",
"value" : "..."
} ], [ {
"name" : "...",
"value" : "..."
}, {
"name" : "...",
"value" : "..."
} ] ]
},
"name" : "...",
"classname" : "..."
}
HTTP/1.1 204 No Content
Content-Type: application/json
{
"status" : "PARTIAL",
"message" : "...",
"fieldsToAppend" : [ [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ], [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ] ]
}
Get the storage specified by name
| name | type | description |
|---|---|---|
| storage | path | The storage name |
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | object (JSON) | JAXB representation of XStorage |
| application/json | object (JSON) | |
| application/xml | anyType (XML) |
GET /metastore/storages/{storage}
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
...
Drop the storage, specified by name
| name | type | description |
|---|---|---|
| storage | path | The storage name |
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | APIResult (JSON) | APIResult with state Status#SUCCEEDED, if drop was successful. APIResult with state Status#FAILED, if drop has failed |
| application/json | APIResult (JSON) | |
| application/xml | APIResult (XML) |
DELETE /metastore/storages/{storage}
Accept: application/json
HTTP/1.1 204 No Content
Content-Type: application/json
{
"status" : "FAILED",
"message" : "...",
"fieldsToAppend" : [ [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ], [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ] ]
}
Get all dimensions in the metastore
| name | type | description |
|---|---|---|
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | StringList (JSON) | StringList consisting of all the dimension names |
| application/json | StringList (JSON) | |
| application/xml | stringList (XML) |
GET /metastore/dimensions
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
{
"elements" : [ [ "...", "..." ], [ "...", "..." ] ]
}
Create new dimension
| name | type | description |
|---|---|---|
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | XDimension (JSON) | The XDimension representation of dimension |
| application/json | XDimension (JSON) | |
| application/xml | x_dimension (XML) |
| media type | data type | description |
|---|---|---|
| application/json | APIResult (JSON) | APIResult with state Status#SUCCEEDED, if create was successful. APIResult with state Status#FAILED, if create has failed |
| application/json | APIResult (JSON) | |
| application/xml | APIResult (XML) |
POST /metastore/dimensions
Content-Type: application/json
Accept: application/json
{
"attributes" : {
"dimAttribute" : [ [ {
"chainRefColumn" : [ [ { }, { } ], [ { }, { } ] ],
"hierarchy" : { },
"values" : [ [ "...", "..." ], [ "...", "..." ] ],
"type" : "...",
"startTime" : 12345,
"endTime" : 12345,
"numDistinctValues" : 12345,
"tags" : { },
"name" : "...",
"displayString" : "...",
"description" : "..."
}, {
"chainRefColumn" : [ [ { }, { } ], [ { }, { } ] ],
"hierarchy" : { },
"values" : [ [ "...", "..." ], [ "...", "..." ] ],
"type" : "...",
"startTime" : 12345,
"endTime" : 12345,
"numDistinctValues" : 12345,
"tags" : { },
"name" : "...",
"displayString" : "...",
"description" : "..."
} ], [ {
"chainRefColumn" : [ [ { }, { } ], [ { }, { } ] ],
"hierarchy" : { },
"values" : [ [ "...", "..." ], [ "...", "..." ] ],
"type" : "...",
"startTime" : 12345,
"endTime" : 12345,
"numDistinctValues" : 12345,
"tags" : { },
"name" : "...",
"displayString" : "...",
"description" : "..."
}, {
"chainRefColumn" : [ [ { }, { } ], [ { }, { } ] ],
"hierarchy" : { },
"values" : [ [ "...", "..." ], [ "...", "..." ] ],
"type" : "...",
"startTime" : 12345,
"endTime" : 12345,
"numDistinctValues" : 12345,
"tags" : { },
"name" : "...",
"displayString" : "...",
"description" : "..."
} ] ]
},
"expressions" : {
"expression" : [ [ {
"exprSpec" : [ [ { }, { } ], [ { }, { } ] ],
"type" : "...",
"tags" : { },
"name" : "...",
"displayString" : "...",
"description" : "..."
}, {
"exprSpec" : [ [ { }, { } ], [ { }, { } ] ],
"type" : "...",
"tags" : { },
"name" : "...",
"displayString" : "...",
"description" : "..."
} ], [ {
"exprSpec" : [ [ { }, { } ], [ { }, { } ] ],
"type" : "...",
"tags" : { },
"name" : "...",
"displayString" : "...",
"description" : "..."
}, {
"exprSpec" : [ [ { }, { } ], [ { }, { } ] ],
"type" : "...",
"tags" : { },
"name" : "...",
"displayString" : "...",
"description" : "..."
} ] ]
},
"joinChains" : {
"joinChain" : [ [ {
"paths" : { },
"destTable" : "...",
"tags" : { },
"name" : "...",
"displayString" : "...",
"description" : "..."
}, {
"paths" : { },
"destTable" : "...",
"tags" : { },
"name" : "...",
"displayString" : "...",
"description" : "..."
} ], [ {
"paths" : { },
"destTable" : "...",
"tags" : { },
"name" : "...",
"displayString" : "...",
"description" : "..."
}, {
"paths" : { },
"destTable" : "...",
"tags" : { },
"name" : "...",
"displayString" : "...",
"description" : "..."
} ] ]
},
"properties" : {
"property" : [ [ {
"name" : "...",
"value" : "..."
}, {
"name" : "...",
"value" : "..."
} ], [ {
"name" : "...",
"value" : "..."
}, {
"name" : "...",
"value" : "..."
} ] ]
},
"name" : "...",
"description" : "..."
}
HTTP/1.1 201 Created
Content-Type: application/json
{
"status" : "SUCCEEDED",
"message" : "...",
"fieldsToAppend" : [ [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ], [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ] ]
}
Delete all dimensions in metastore
| name | type | description |
|---|---|---|
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | APIResult (JSON) | APIResult with state Status#SUCCEEDED in case of successful delete. APIResult with state in case of delete failure. APIResult with state Status#PARTIAL in case of partial delete. |
| application/json | APIResult (JSON) | |
| application/xml | APIResult (XML) |
DELETE /metastore/dimensions
Accept: application/json
HTTP/1.1 204 No Content
Content-Type: application/json
{
"status" : "FAILED",
"message" : "...",
"fieldsToAppend" : [ [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ], [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ] ]
}
Update dimension definition
| name | type | description |
|---|---|---|
| dimName | path | The dimension name |
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | XDimension (JSON) | The XDimension representation of the updated dimension definition |
| application/json | XDimension (JSON) | |
| application/xml | x_dimension (XML) |
| media type | data type | description |
|---|---|---|
| application/json | APIResult (JSON) | APIResult with state Status#SUCCEEDED, if update was successful. APIResult with state Status#FAILED, if update has failed |
| application/json | APIResult (JSON) | |
| application/xml | APIResult (XML) |
PUT /metastore/dimensions/{dimName}
Content-Type: application/json
Accept: application/json
{
"attributes" : {
"dimAttribute" : [ [ {
"chainRefColumn" : [ [ { }, { } ], [ { }, { } ] ],
"hierarchy" : { },
"values" : [ [ "...", "..." ], [ "...", "..." ] ],
"type" : "...",
"startTime" : 12345,
"endTime" : 12345,
"numDistinctValues" : 12345,
"tags" : { },
"name" : "...",
"displayString" : "...",
"description" : "..."
}, {
"chainRefColumn" : [ [ { }, { } ], [ { }, { } ] ],
"hierarchy" : { },
"values" : [ [ "...", "..." ], [ "...", "..." ] ],
"type" : "...",
"startTime" : 12345,
"endTime" : 12345,
"numDistinctValues" : 12345,
"tags" : { },
"name" : "...",
"displayString" : "...",
"description" : "..."
} ], [ {
"chainRefColumn" : [ [ { }, { } ], [ { }, { } ] ],
"hierarchy" : { },
"values" : [ [ "...", "..." ], [ "...", "..." ] ],
"type" : "...",
"startTime" : 12345,
"endTime" : 12345,
"numDistinctValues" : 12345,
"tags" : { },
"name" : "...",
"displayString" : "...",
"description" : "..."
}, {
"chainRefColumn" : [ [ { }, { } ], [ { }, { } ] ],
"hierarchy" : { },
"values" : [ [ "...", "..." ], [ "...", "..." ] ],
"type" : "...",
"startTime" : 12345,
"endTime" : 12345,
"numDistinctValues" : 12345,
"tags" : { },
"name" : "...",
"displayString" : "...",
"description" : "..."
} ] ]
},
"expressions" : {
"expression" : [ [ {
"exprSpec" : [ [ { }, { } ], [ { }, { } ] ],
"type" : "...",
"tags" : { },
"name" : "...",
"displayString" : "...",
"description" : "..."
}, {
"exprSpec" : [ [ { }, { } ], [ { }, { } ] ],
"type" : "...",
"tags" : { },
"name" : "...",
"displayString" : "...",
"description" : "..."
} ], [ {
"exprSpec" : [ [ { }, { } ], [ { }, { } ] ],
"type" : "...",
"tags" : { },
"name" : "...",
"displayString" : "...",
"description" : "..."
}, {
"exprSpec" : [ [ { }, { } ], [ { }, { } ] ],
"type" : "...",
"tags" : { },
"name" : "...",
"displayString" : "...",
"description" : "..."
} ] ]
},
"joinChains" : {
"joinChain" : [ [ {
"paths" : { },
"destTable" : "...",
"tags" : { },
"name" : "...",
"displayString" : "...",
"description" : "..."
}, {
"paths" : { },
"destTable" : "...",
"tags" : { },
"name" : "...",
"displayString" : "...",
"description" : "..."
} ], [ {
"paths" : { },
"destTable" : "...",
"tags" : { },
"name" : "...",
"displayString" : "...",
"description" : "..."
}, {
"paths" : { },
"destTable" : "...",
"tags" : { },
"name" : "...",
"displayString" : "...",
"description" : "..."
} ] ]
},
"properties" : {
"property" : [ [ {
"name" : "...",
"value" : "..."
}, {
"name" : "...",
"value" : "..."
} ], [ {
"name" : "...",
"value" : "..."
}, {
"name" : "...",
"value" : "..."
} ] ]
},
"name" : "...",
"description" : "..."
}
HTTP/1.1 204 No Content
Content-Type: application/json
{
"status" : "FAILED",
"message" : "...",
"fieldsToAppend" : [ [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ], [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ] ]
}
Get the dimension specified by name
| name | type | description |
|---|---|---|
| dimName | path | The dimension name |
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | object (JSON) | JAXB representation of XDimension |
| application/json | object (JSON) | |
| application/xml | anyType (XML) |
GET /metastore/dimensions/{dimName}
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
...
Drop the dimension, specified by name
| name | type | description |
|---|---|---|
| dimName | path | The dimension name |
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | APIResult (JSON) | APIResult with state Status#SUCCEEDED, if drop was successful. APIResult with state Status#FAILED, if drop has failed |
| application/json | APIResult (JSON) | |
| application/xml | APIResult (XML) |
DELETE /metastore/dimensions/{dimName}
Accept: application/json
HTTP/1.1 204 No Content
Content-Type: application/json
{
"status" : "SUCCEEDED",
"message" : "...",
"fieldsToAppend" : [ [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ], [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ] ]
}
Get all dimtables that belong to a dimension in the metastore
| name | type | description |
|---|---|---|
| dimName | path | name of the dimension |
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | StringList (JSON) | List of XDimensionTable objects |
| application/json | StringList (JSON) | |
| application/xml | stringList (XML) |
GET /metastore/dimensions/{dimName}/dimtables
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
{
"elements" : [ [ "...", "..." ], [ "...", "..." ] ]
}
Get all facts that belong to a cube in the metastore
| name | type | description |
|---|---|---|
| cubeName | path | name of the base cube or derived cube |
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | StringList (JSON) | StringList consisting of all the fact names in the given cube |
| application/json | StringList (JSON) | |
| application/xml | stringList (XML) |
GET /metastore/cubes/{cubeName}/facts
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
{
"elements" : [ [ "...", "..." ], [ "...", "..." ] ]
}
Get all segmentations that belong to a cube in the metastore
| name | type | description |
|---|---|---|
| cubeName | path | name of the base cube or derived cube |
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | StringList (JSON) | List of XSegmentation objects |
| application/json | StringList (JSON) | |
| application/xml | stringList (XML) |
GET /metastore/cubes/{cubeName}/segmentations
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
{
"elements" : [ [ "...", "..." ], [ "...", "..." ] ]
}
Get all fact tables in the metastore in the current database
| name | type | description |
|---|---|---|
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | StringList (JSON) | StringList consisting of all fact table names |
| application/json | StringList (JSON) | |
| application/xml | stringList (XML) |
GET /metastore/facts
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
{
"elements" : [ [ "...", "..." ], [ "...", "..." ] ]
}
Get all segmentations in the current database
| name | type | description |
|---|---|---|
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | StringList (JSON) | StringList consisting of all segmentations |
| application/json | StringList (JSON) | |
| application/xml | stringList (XML) |
GET /metastore/segmentations
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
{
"elements" : [ [ "...", "..." ], [ "...", "..." ] ]
}
Delete all fact tables
| name | type | description | default | constraints |
|---|---|---|---|---|
| cascade | query | if set to true, all the underlying tables will be dropped, if set to false, only the fact table will be dropped | false | boolean |
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | APIResult (JSON) | APIResult with state Status#SUCCEEDED in case of successful delete. APIResult with state in case of delete failure. APIResult with state Status#PARTIAL in case of partial delete. |
| application/json | APIResult (JSON) | |
| application/xml | APIResult (XML) |
DELETE /metastore/facts
Accept: application/json
HTTP/1.1 204 No Content
Content-Type: application/json
{
"status" : "FAILED",
"message" : "...",
"fieldsToAppend" : [ [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ], [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ] ]
}
Delete all segmentations
| name | type | description |
|---|---|---|
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | APIResult (JSON) | APIResult with state Status#SUCCEEDED in case of successful delete. APIResult with state in case of delete failure. APIResult with state Status#PARTIAL in case of partial delete. |
| application/json | APIResult (JSON) | |
| application/xml | APIResult (XML) |
DELETE /metastore/segmentations
Accept: application/json
HTTP/1.1 204 No Content
Content-Type: application/json
{
"status" : "SUCCEEDED",
"message" : "...",
"fieldsToAppend" : [ [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ], [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ] ]
}
Get the fact table specified by name
| name | type | description |
|---|---|---|
| factName | path | The fact table name |
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | object (JSON) | JAXB representation of XFact |
| application/json | object (JSON) | |
| application/xml | anyType (XML) |
GET /metastore/facts/{factName}
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
...
Get the segmentation specified by name
| name | type | description |
|---|---|---|
| segmentationName | path | The segmentation name |
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | object (JSON) | JAXB representation of XSegmentation |
| application/json | object (JSON) | |
| application/xml | anyType (XML) |
GET /metastore/segmentations/{segmentationName}
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
...
Create a new fact tabble
| name | type | description |
|---|---|---|
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | XFact (JSON) | The XFact representation of the fact table definition |
| application/json | XFact (JSON) | |
| application/xml | x_fact (XML) |
| media type | data type | description |
|---|---|---|
| application/json | APIResult (JSON) | APIResult with state Status#SUCCEEDED, if create was successful. APIResult with state Status#FAILED, if create has failed |
| application/json | APIResult (JSON) | |
| application/xml | APIResult (XML) |
POST /metastore/facts
Content-Type: application/json
Accept: application/json
{
"name" : "...",
"description" : "...",
"cubeName" : "..."
}
HTTP/1.1 201 Created
Content-Type: application/json
{
"status" : "PARTIAL",
"message" : "...",
"fieldsToAppend" : [ [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ], [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ] ]
}
Create a new segmentation
| name | type | description |
|---|---|---|
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | XSegmentation (JSON) | The XSegmentation representation of the segmentation |
| application/json | XSegmentation (JSON) | |
| application/xml | x_segmentation (XML) |
| media type | data type | description |
|---|---|---|
| application/json | APIResult (JSON) | APIResult with state Status#SUCCEEDED, if create was successful. APIResult with state Status#FAILED, if create has failed |
| application/json | APIResult (JSON) | |
| application/xml | APIResult (XML) |
POST /metastore/segmentations
Content-Type: application/json
Accept: application/json
{
"properties" : {
"property" : [ [ {
"name" : "...",
"value" : "..."
}, {
"name" : "...",
"value" : "..."
} ], [ {
"name" : "...",
"value" : "..."
}, {
"name" : "...",
"value" : "..."
} ] ]
},
"segements" : {
"segment" : [ [ {
"segmentParameters" : { },
"cubeName" : "..."
}, {
"segmentParameters" : { },
"cubeName" : "..."
} ], [ {
"segmentParameters" : { },
"cubeName" : "..."
}, {
"segmentParameters" : { },
"cubeName" : "..."
} ] ]
},
"name" : "...",
"cubeName" : "...",
"weight" : 12345.0
}
HTTP/1.1 201 Created
Content-Type: application/json
{
"status" : "SUCCEEDED",
"message" : "...",
"fieldsToAppend" : [ [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ], [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ] ]
}
Update fact table definition
| name | type | description |
|---|---|---|
| factName | path | name of the fact table |
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | XFact (JSON) | The XFact representation of the updated fact table definition |
| application/json | XFact (JSON) | |
| application/xml | x_fact (XML) |
| media type | data type | description |
|---|---|---|
| application/json | APIResult (JSON) | APIResult with state Status#SUCCEEDED, if update was successful. APIResult with state Status#FAILED, if update has failed |
| application/json | APIResult (JSON) | |
| application/xml | APIResult (XML) |
PUT /metastore/facts/{factName}
Content-Type: application/json
Accept: application/json
{
"name" : "...",
"description" : "...",
"cubeName" : "..."
}
HTTP/1.1 204 No Content
Content-Type: application/json
{
"status" : "SUCCEEDED",
"message" : "...",
"fieldsToAppend" : [ [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ], [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ] ]
}
Update segmentation
| name | type | description |
|---|---|---|
| segmentationName | path | name of segmentation |
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | XSegmentation (JSON) | The XSegmentation representation of the updated fact table definition |
| application/json | XSegmentation (JSON) | |
| application/xml | x_segmentation (XML) |
| media type | data type | description |
|---|---|---|
| application/json | APIResult (JSON) | APIResult with state Status#SUCCEEDED, if update was successful. APIResult with state Status#FAILED, if update has failed |
| application/json | APIResult (JSON) | |
| application/xml | APIResult (XML) |
PUT /metastore/segmentations/{segmentationName}
Content-Type: application/json
Accept: application/json
{
"properties" : {
"property" : [ [ {
"name" : "...",
"value" : "..."
}, {
"name" : "...",
"value" : "..."
} ], [ {
"name" : "...",
"value" : "..."
}, {
"name" : "...",
"value" : "..."
} ] ]
},
"segements" : {
"segment" : [ [ {
"segmentParameters" : { },
"cubeName" : "..."
}, {
"segmentParameters" : { },
"cubeName" : "..."
} ], [ {
"segmentParameters" : { },
"cubeName" : "..."
}, {
"segmentParameters" : { },
"cubeName" : "..."
} ] ]
},
"name" : "...",
"cubeName" : "...",
"weight" : 12345.0
}
HTTP/1.1 204 No Content
Content-Type: application/json
{
"status" : "PARTIAL",
"message" : "...",
"fieldsToAppend" : [ [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ], [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ] ]
}
Drop the fact table, specified by name
| name | type | description | default | constraints |
|---|---|---|---|---|
| factName | path | The fact table name | ||
| cascade | query | If true, all the storage tables of the fact will also be dropped | false | boolean |
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | APIResult (JSON) | APIResult with state Status#SUCCEEDED, if drop was successful. APIResult with state Status#FAILED, if drop has failed |
| application/json | APIResult (JSON) | |
| application/xml | APIResult (XML) |
DELETE /metastore/facts/{factName}
Accept: application/json
HTTP/1.1 204 No Content
Content-Type: application/json
{
"status" : "SUCCEEDED",
"message" : "...",
"fieldsToAppend" : [ [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ], [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ] ]
}
Drop the segmentation, specified by name
| name | type | description |
|---|---|---|
| segmentationName | path | The segmentation name |
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | APIResult (JSON) | APIResult with state Status#SUCCEEDED, if drop was successful. APIResult with state Status#FAILED, if drop has failed |
| application/json | APIResult (JSON) | |
| application/xml | APIResult (XML) |
DELETE /metastore/segmentations/{segmentationName}
Accept: application/json
HTTP/1.1 204 No Content
Content-Type: application/json
{
"status" : "SUCCEEDED",
"message" : "...",
"fieldsToAppend" : [ [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ], [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ] ]
}
Get all storages of the fact table in the metastore
| name | type | description |
|---|---|---|
| factName | path | The fact table name |
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | StringList (JSON) | StringList consisting of all the storage names |
| application/json | StringList (JSON) | |
| application/xml | stringList (XML) |
GET /metastore/facts/{factName}/storages
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
{
"elements" : [ [ "...", "..." ], [ "...", "..." ] ]
}
Drop all the storage tables of a fact table
| name | type | description |
|---|---|---|
| factName | path | The fact table name |
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | APIResult (JSON) | APIResult with state Status#SUCCEEDED, if drop was successful. APIResult with state Status#FAILED, if drop has failed |
| application/json | APIResult (JSON) | |
| application/xml | APIResult (XML) |
DELETE /metastore/facts/{factName}/storages
Accept: application/json
HTTP/1.1 204 No Content
Content-Type: application/json
{
"status" : "SUCCEEDED",
"message" : "...",
"fieldsToAppend" : [ [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ], [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ] ]
}
Add storage to fact table
| name | type | description |
|---|---|---|
| factName | path | The fact table name |
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | XStorageTableElement (JSON) | The storage table description |
| application/json | XStorageTableElement (JSON) | |
| application/xml | x_storage_table_element (XML) |
| media type | data type | description |
|---|---|---|
| application/json | APIResult (JSON) | APIResult with state Status#SUCCEEDED, if add was successful. APIResult with state Status#FAILED, if add has failed |
| application/json | APIResult (JSON) | |
| application/xml | APIResult (XML) |
POST /metastore/facts/{factName}/storages
Content-Type: application/json
Accept: application/json
{
"updatePeriods" : {
"updatePeriodTableDescriptor" : [ [ {
"updatePeriod" : "MINUTELY",
"tableDesc" : { }
}, {
"updatePeriod" : "WEEKLY",
"tableDesc" : { }
} ], [ {
"updatePeriod" : "WEEKLY",
"tableDesc" : { }
}, {
"updatePeriod" : "CONTINUOUS",
"tableDesc" : { }
} ] ],
"updatePeriod" : [ [ "MINUTELY", "WEEKLY" ], [ "MINUTELY", "YEARLY" ] ]
},
"storageName" : "...",
"tableDesc" : {
"partCols" : {
"column" : [ [ { }, { } ], [ { }, { } ] ]
},
"tableParameters" : {
"property" : [ [ { }, { } ], [ { }, { } ] ]
},
"serdeParameters" : {
"property" : [ [ { }, { } ], [ { }, { } ] ]
},
"bucketCols" : [ [ "...", "..." ], [ "...", "..." ] ],
"sortCols" : [ [ "...", "..." ], [ "...", "..." ] ],
"sortColOrder" : [ [ 12345, 12345 ], [ 12345, 12345 ] ],
"skewedInfo" : [ [ {
"colNames" : [ [ "...", "..." ], [ "...", "..." ] ],
"colValues" : [ [ { }, { } ], [ { }, { } ] ],
"valueLocationMap" : [ [ { }, { } ], [ { }, { } ] ]
}, {
"colNames" : [ [ "...", "..." ], [ "...", "..." ] ],
"colValues" : [ [ { }, { } ], [ { }, { } ] ],
"valueLocationMap" : [ [ { }, { } ], [ { }, { } ] ]
} ], [ {
"colNames" : [ [ "...", "..." ], [ "...", "..." ] ],
"colValues" : [ [ { }, { } ], [ { }, { } ] ],
"valueLocationMap" : [ [ { }, { } ], [ { }, { } ] ]
}, {
"colNames" : [ [ "...", "..." ], [ "...", "..." ] ],
"colValues" : [ [ { }, { } ], [ { }, { } ] ],
"valueLocationMap" : [ [ { }, { } ], [ { }, { } ] ]
} ] ],
"timePartCols" : [ [ "...", "..." ], [ "...", "..." ] ],
"external" : true,
"tableLocation" : "...",
"inputFormat" : "...",
"outputFormat" : "...",
"fieldDelimiter" : "...",
"escapeChar" : "...",
"collectionDelimiter" : "...",
"lineDelimiter" : "...",
"mapKeyDelimiter" : "...",
"serdeClassName" : "...",
"storageHandlerName" : "...",
"numBuckets" : 12345,
"compressed" : true
}
}
HTTP/1.1 201 Created
Content-Type: application/json
{
"status" : "SUCCEEDED",
"message" : "...",
"fieldsToAppend" : [ [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ], [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ] ]
}
Drop the storage of a fact, specified by name
| name | type | description |
|---|---|---|
| factName | path | The fact table name |
| storage | path | The storage name |
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | APIResult (JSON) | APIResult with state Status#SUCCEEDED, if drop was successful. APIResult with state Status#FAILED, if drop has failed |
| application/json | APIResult (JSON) | |
| application/xml | APIResult (XML) |
DELETE /metastore/facts/{factName}/storages/{storage}
Accept: application/json
HTTP/1.1 204 No Content
Content-Type: application/json
{
"status" : "PARTIAL",
"message" : "...",
"fieldsToAppend" : [ [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ], [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ] ]
}
Get the fact storage table
| name | type | description |
|---|---|---|
| factName | path | The fact table name |
| storage | path | The storage name |
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | object (JSON) | JAXB representation of XStorageTableElement |
| application/json | object (JSON) | |
| application/xml | anyType (XML) |
GET /metastore/facts/{factName}/storages/{storage}
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
...
Get all partitions of the fact table in the specified storage; can be filtered as well.
| name | type | description |
|---|---|---|
| factName | path | The fact table name |
| storage | path | The storage name |
| filter | query | The filter for partitions, string representation of the filter for ex: x < "xxx" and y > "yyy" |
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | object (JSON) | JAXB representation of XPartitionList containing XPartition objects |
| application/json | object (JSON) | |
| application/xml | anyType (XML) |
GET /metastore/facts/{factName}/storages/{storage}/partitions
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
...
Drop the partitions in the storage of a fact; can specified filter as well
| name | type | description |
|---|---|---|
| factName | path | The fact table name |
| storage | path | The storage name |
| filter | query | The filter for partitions, string representation of the filter for ex: x < "xxx" and y > "yyy" |
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | APIResult (JSON) | APIResult with state Status#SUCCEEDED, if drop was successful. APIResult with state Status#FAILED, if drop has failed |
| application/json | APIResult (JSON) | |
| application/xml | APIResult (XML) |
DELETE /metastore/facts/{factName}/storages/{storage}/partitions
Accept: application/json
HTTP/1.1 204 No Content
Content-Type: application/json
{
"status" : "PARTIAL",
"message" : "...",
"fieldsToAppend" : [ [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ], [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ] ]
}
Add a new partition for a storage of fact
| name | type | description |
|---|---|---|
| factName | path | fact table name |
| storage | path | storage name |
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | XPartition (JSON) | XPartition representation of partition |
| application/json | XPartition (JSON) | |
| application/xml | x_partition (XML) |
| media type | data type | description |
|---|---|---|
| application/json | APIResult (JSON) | APIResult with state Status#SUCCEEDED, if add was successful. APIResult with state Status#FAILED, if add has failed |
| application/json | APIResult (JSON) | |
| application/xml | APIResult (XML) |
POST /metastore/facts/{factName}/storages/{storage}/partition
Content-Type: application/json
Accept: application/json
{
"nonTimePartitionSpec" : {
"partSpecElement" : [ [ {
"key" : "...",
"value" : "..."
}, {
"key" : "...",
"value" : "..."
} ], [ {
"key" : "...",
"value" : "..."
}, {
"key" : "...",
"value" : "..."
} ] ]
},
"timePartitionSpec" : {
"partSpecElement" : [ [ {
"key" : "...",
"value" : 12345
}, {
"key" : "...",
"value" : 12345
} ], [ {
"key" : "...",
"value" : 12345
}, {
"key" : "...",
"value" : 12345
} ] ]
},
"fullPartitionSpec" : {
"partSpecElement" : [ [ {
"key" : "...",
"value" : "..."
}, {
"key" : "...",
"value" : "..."
} ], [ {
"key" : "...",
"value" : "..."
}, {
"key" : "...",
"value" : "..."
} ] ]
},
"partitionParameters" : {
"property" : [ [ {
"name" : "...",
"value" : "..."
}, {
"name" : "...",
"value" : "..."
} ], [ {
"name" : "...",
"value" : "..."
}, {
"name" : "...",
"value" : "..."
} ] ]
},
"serdeParameters" : {
"property" : [ [ {
"name" : "...",
"value" : "..."
}, {
"name" : "...",
"value" : "..."
} ], [ {
"name" : "...",
"value" : "..."
}, {
"name" : "...",
"value" : "..."
} ] ]
},
"factOrDimensionTableName" : "...",
"name" : "...",
"location" : "...",
"inputFormat" : "...",
"outputFormat" : "...",
"serdeClassname" : "...",
"updatePeriod" : "SECONDLY"
}
HTTP/1.1 201 Created
Content-Type: application/json
{
"status" : "FAILED",
"message" : "...",
"fieldsToAppend" : [ [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ], [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ] ]
}
updates an existing partition for a storage of fact
| name | type | description |
|---|---|---|
| factName | path | fact table name |
| storage | path | storage name |
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | XPartition (JSON) | XPartition representation of partition. |
| application/json | XPartition (JSON) | |
| application/xml | x_partition (XML) |
| media type | data type | description |
|---|---|---|
| application/json | APIResult (JSON) | APIResult with state Status#SUCCEEDED, if update was successful. APIResult with state Status#FAILED, if update has failed |
| application/json | APIResult (JSON) | |
| application/xml | APIResult (XML) |
PUT /metastore/facts/{factName}/storages/{storage}/partition
Content-Type: application/json
Accept: application/json
{
"nonTimePartitionSpec" : {
"partSpecElement" : [ [ {
"key" : "...",
"value" : "..."
}, {
"key" : "...",
"value" : "..."
} ], [ {
"key" : "...",
"value" : "..."
}, {
"key" : "...",
"value" : "..."
} ] ]
},
"timePartitionSpec" : {
"partSpecElement" : [ [ {
"key" : "...",
"value" : 12345
}, {
"key" : "...",
"value" : 12345
} ], [ {
"key" : "...",
"value" : 12345
}, {
"key" : "...",
"value" : 12345
} ] ]
},
"fullPartitionSpec" : {
"partSpecElement" : [ [ {
"key" : "...",
"value" : "..."
}, {
"key" : "...",
"value" : "..."
} ], [ {
"key" : "...",
"value" : "..."
}, {
"key" : "...",
"value" : "..."
} ] ]
},
"partitionParameters" : {
"property" : [ [ {
"name" : "...",
"value" : "..."
}, {
"name" : "...",
"value" : "..."
} ], [ {
"name" : "...",
"value" : "..."
}, {
"name" : "...",
"value" : "..."
} ] ]
},
"serdeParameters" : {
"property" : [ [ {
"name" : "...",
"value" : "..."
}, {
"name" : "...",
"value" : "..."
} ], [ {
"name" : "...",
"value" : "..."
}, {
"name" : "...",
"value" : "..."
} ] ]
},
"factOrDimensionTableName" : "...",
"name" : "...",
"location" : "...",
"inputFormat" : "...",
"outputFormat" : "...",
"serdeClassname" : "...",
"updatePeriod" : "DAILY"
}
HTTP/1.1 204 No Content
Content-Type: application/json
{
"status" : "PARTIAL",
"message" : "...",
"fieldsToAppend" : [ [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ], [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ] ]
}
Batch Add partitions for a storage of fact
| name | type | description |
|---|---|---|
| factName | path | fact table name |
| storage | path | storage name |
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | XPartitionList (JSON) | XPartitionList representation of partitions |
| application/json | XPartitionList (JSON) | |
| application/xml | x_partition_list (XML) |
| media type | data type | description |
|---|---|---|
| application/json | APIResult (JSON) | APIResult with state Status#SUCCEEDED, if add was successful. APIResult with state Status#FAILED, if add has failed |
| application/json | APIResult (JSON) | |
| application/xml | APIResult (XML) |
POST /metastore/facts/{factName}/storages/{storage}/partitions
Content-Type: application/json
Accept: application/json
{
"partition" : [ [ {
"nonTimePartitionSpec" : {
"partSpecElement" : [ [ { }, { } ], [ { }, { } ] ]
},
"timePartitionSpec" : {
"partSpecElement" : [ [ { }, { } ], [ { }, { } ] ]
},
"fullPartitionSpec" : {
"partSpecElement" : [ [ { }, { } ], [ { }, { } ] ]
},
"partitionParameters" : {
"property" : [ [ { }, { } ], [ { }, { } ] ]
},
"serdeParameters" : {
"property" : [ [ { }, { } ], [ { }, { } ] ]
},
"factOrDimensionTableName" : "...",
"name" : "...",
"location" : "...",
"inputFormat" : "...",
"outputFormat" : "...",
"serdeClassname" : "...",
"updatePeriod" : "HOURLY"
}, {
"nonTimePartitionSpec" : {
"partSpecElement" : [ [ { }, { } ], [ { }, { } ] ]
},
"timePartitionSpec" : {
"partSpecElement" : [ [ { }, { } ], [ { }, { } ] ]
},
"fullPartitionSpec" : {
"partSpecElement" : [ [ { }, { } ], [ { }, { } ] ]
},
"partitionParameters" : {
"property" : [ [ { }, { } ], [ { }, { } ] ]
},
"serdeParameters" : {
"property" : [ [ { }, { } ], [ { }, { } ] ]
},
"factOrDimensionTableName" : "...",
"name" : "...",
"location" : "...",
"inputFormat" : "...",
"outputFormat" : "...",
"serdeClassname" : "...",
"updatePeriod" : "HOURLY"
} ], [ {
"nonTimePartitionSpec" : {
"partSpecElement" : [ [ { }, { } ], [ { }, { } ] ]
},
"timePartitionSpec" : {
"partSpecElement" : [ [ { }, { } ], [ { }, { } ] ]
},
"fullPartitionSpec" : {
"partSpecElement" : [ [ { }, { } ], [ { }, { } ] ]
},
"partitionParameters" : {
"property" : [ [ { }, { } ], [ { }, { } ] ]
},
"serdeParameters" : {
"property" : [ [ { }, { } ], [ { }, { } ] ]
},
"factOrDimensionTableName" : "...",
"name" : "...",
"location" : "...",
"inputFormat" : "...",
"outputFormat" : "...",
"serdeClassname" : "...",
"updatePeriod" : "SECONDLY"
}, {
"nonTimePartitionSpec" : {
"partSpecElement" : [ [ { }, { } ], [ { }, { } ] ]
},
"timePartitionSpec" : {
"partSpecElement" : [ [ { }, { } ], [ { }, { } ] ]
},
"fullPartitionSpec" : {
"partSpecElement" : [ [ { }, { } ], [ { }, { } ] ]
},
"partitionParameters" : {
"property" : [ [ { }, { } ], [ { }, { } ] ]
},
"serdeParameters" : {
"property" : [ [ { }, { } ], [ { }, { } ] ]
},
"factOrDimensionTableName" : "...",
"name" : "...",
"location" : "...",
"inputFormat" : "...",
"outputFormat" : "...",
"serdeClassname" : "...",
"updatePeriod" : "QUARTERLY"
} ] ]
}
HTTP/1.1 201 Created
Content-Type: application/json
{
"status" : "PARTIAL",
"message" : "...",
"fieldsToAppend" : [ [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ], [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ] ]
}
Batch Update partitions for a storage of fact
| name | type | description |
|---|---|---|
| factName | path | fact table name |
| storage | path | storage name |
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | XPartitionList (JSON) | XPartitionList representation of partitions |
| application/json | XPartitionList (JSON) | |
| application/xml | x_partition_list (XML) |
| media type | data type | description |
|---|---|---|
| application/json | APIResult (JSON) | APIResult with state Status#SUCCEEDED, if update was successful. APIResult with state Status#FAILED, if update has failed |
| application/json | APIResult (JSON) | |
| application/xml | APIResult (XML) |
PUT /metastore/facts/{factName}/storages/{storage}/partitions
Content-Type: application/json
Accept: application/json
{
"partition" : [ [ {
"nonTimePartitionSpec" : {
"partSpecElement" : [ [ { }, { } ], [ { }, { } ] ]
},
"timePartitionSpec" : {
"partSpecElement" : [ [ { }, { } ], [ { }, { } ] ]
},
"fullPartitionSpec" : {
"partSpecElement" : [ [ { }, { } ], [ { }, { } ] ]
},
"partitionParameters" : {
"property" : [ [ { }, { } ], [ { }, { } ] ]
},
"serdeParameters" : {
"property" : [ [ { }, { } ], [ { }, { } ] ]
},
"factOrDimensionTableName" : "...",
"name" : "...",
"location" : "...",
"inputFormat" : "...",
"outputFormat" : "...",
"serdeClassname" : "...",
"updatePeriod" : "MINUTELY"
}, {
"nonTimePartitionSpec" : {
"partSpecElement" : [ [ { }, { } ], [ { }, { } ] ]
},
"timePartitionSpec" : {
"partSpecElement" : [ [ { }, { } ], [ { }, { } ] ]
},
"fullPartitionSpec" : {
"partSpecElement" : [ [ { }, { } ], [ { }, { } ] ]
},
"partitionParameters" : {
"property" : [ [ { }, { } ], [ { }, { } ] ]
},
"serdeParameters" : {
"property" : [ [ { }, { } ], [ { }, { } ] ]
},
"factOrDimensionTableName" : "...",
"name" : "...",
"location" : "...",
"inputFormat" : "...",
"outputFormat" : "...",
"serdeClassname" : "...",
"updatePeriod" : "DAILY"
} ], [ {
"nonTimePartitionSpec" : {
"partSpecElement" : [ [ { }, { } ], [ { }, { } ] ]
},
"timePartitionSpec" : {
"partSpecElement" : [ [ { }, { } ], [ { }, { } ] ]
},
"fullPartitionSpec" : {
"partSpecElement" : [ [ { }, { } ], [ { }, { } ] ]
},
"partitionParameters" : {
"property" : [ [ { }, { } ], [ { }, { } ] ]
},
"serdeParameters" : {
"property" : [ [ { }, { } ], [ { }, { } ] ]
},
"factOrDimensionTableName" : "...",
"name" : "...",
"location" : "...",
"inputFormat" : "...",
"outputFormat" : "...",
"serdeClassname" : "...",
"updatePeriod" : "QUARTERLY"
}, {
"nonTimePartitionSpec" : {
"partSpecElement" : [ [ { }, { } ], [ { }, { } ] ]
},
"timePartitionSpec" : {
"partSpecElement" : [ [ { }, { } ], [ { }, { } ] ]
},
"fullPartitionSpec" : {
"partSpecElement" : [ [ { }, { } ], [ { }, { } ] ]
},
"partitionParameters" : {
"property" : [ [ { }, { } ], [ { }, { } ] ]
},
"serdeParameters" : {
"property" : [ [ { }, { } ], [ { }, { } ] ]
},
"factOrDimensionTableName" : "...",
"name" : "...",
"location" : "...",
"inputFormat" : "...",
"outputFormat" : "...",
"serdeClassname" : "...",
"updatePeriod" : "CONTINUOUS"
} ] ]
}
HTTP/1.1 204 No Content
Content-Type: application/json
{
"status" : "PARTIAL",
"message" : "...",
"fieldsToAppend" : [ [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ], [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ] ]
}
Drop the partitions in the storage of a fact table, specified by exact values
| name | type | description |
|---|---|---|
| factName | path | The fact table name |
| storage | path | The storage name |
| sessionid | query | The sessionid in which user is working |
| values | query | Comma separated values |
| media type | data type | description |
|---|---|---|
| application/json | APIResult (JSON) | APIResult with state Status#SUCCEEDED, if drop was successful. APIResult with state Status#FAILED, if drop has failed |
| application/json | APIResult (JSON) | |
| application/xml | APIResult (XML) |
DELETE /metastore/facts/{factName}/storages/{storage}/partition
Accept: application/json
HTTP/1.1 204 No Content
Content-Type: application/json
{
"status" : "PARTIAL",
"message" : "...",
"fieldsToAppend" : [ [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ], [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ] ]
}
Get all dimension tables in the metastore
| name | type | description |
|---|---|---|
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | StringList (JSON) | StringList consisting of all dimension table names |
| application/json | StringList (JSON) | |
| application/xml | stringList (XML) |
GET /metastore/dimtables
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
{
"elements" : [ [ "...", "..." ], [ "...", "..." ] ]
}
Create a new dimension table
| name | type | description |
|---|---|---|
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | XDimensionTable (JSON) | The XDimensionTable representation of the dimension table definition |
| application/json | XDimensionTable (JSON) | |
| application/xml | x_dimension_table (XML) |
| media type | data type | description |
|---|---|---|
| application/json | APIResult (JSON) | APIResult with state Status#SUCCEEDED, if create was successful. APIResult with state Status#FAILED, if create has failed |
| application/json | APIResult (JSON) | |
| application/xml | APIResult (XML) |
POST /metastore/dimtables
Content-Type: application/json
Accept: application/json
{
"columns" : {
"column" : [ [ {
"name" : "...",
"type" : "...",
"comment" : "...",
"startTime" : "...",
"endTime" : "..."
}, {
"name" : "...",
"type" : "...",
"comment" : "...",
"startTime" : "...",
"endTime" : "..."
} ], [ {
"name" : "...",
"type" : "...",
"comment" : "...",
"startTime" : "...",
"endTime" : "..."
}, {
"name" : "...",
"type" : "...",
"comment" : "...",
"startTime" : "...",
"endTime" : "..."
} ] ]
},
"properties" : {
"property" : [ [ {
"name" : "...",
"value" : "..."
}, {
"name" : "...",
"value" : "..."
} ], [ {
"name" : "...",
"value" : "..."
}, {
"name" : "...",
"value" : "..."
} ] ]
},
"storageTables" : {
"storageTable" : [ [ {
"updatePeriods" : { },
"storageName" : "...",
"tableDesc" : { }
}, {
"updatePeriods" : { },
"storageName" : "...",
"tableDesc" : { }
} ], [ {
"updatePeriods" : { },
"storageName" : "...",
"tableDesc" : { }
}, {
"updatePeriods" : { },
"storageName" : "...",
"tableDesc" : { }
} ] ]
},
"dimensionName" : "...",
"tableName" : "...",
"weight" : 12345.0
}
HTTP/1.1 201 Created
Content-Type: application/json
{
"status" : "SUCCEEDED",
"message" : "...",
"fieldsToAppend" : [ [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ], [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ] ]
}
Update dimension table definition
| name | type | description |
|---|---|---|
| dimTableName | path | |
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | XDimensionTable (JSON) | The XDimensionTable representation of the updated dim table definition |
| application/json | XDimensionTable (JSON) | |
| application/xml | x_dimension_table (XML) |
| media type | data type | description |
|---|---|---|
| application/json | APIResult (JSON) | APIResult with state Status#SUCCEEDED, if update was successful. APIResult with state Status#FAILED, if update has failed |
| application/json | APIResult (JSON) | |
| application/xml | APIResult (XML) |
PUT /metastore/dimtables/{dimTableName}
Content-Type: application/json
Accept: application/json
{
"columns" : {
"column" : [ [ {
"name" : "...",
"type" : "...",
"comment" : "...",
"startTime" : "...",
"endTime" : "..."
}, {
"name" : "...",
"type" : "...",
"comment" : "...",
"startTime" : "...",
"endTime" : "..."
} ], [ {
"name" : "...",
"type" : "...",
"comment" : "...",
"startTime" : "...",
"endTime" : "..."
}, {
"name" : "...",
"type" : "...",
"comment" : "...",
"startTime" : "...",
"endTime" : "..."
} ] ]
},
"properties" : {
"property" : [ [ {
"name" : "...",
"value" : "..."
}, {
"name" : "...",
"value" : "..."
} ], [ {
"name" : "...",
"value" : "..."
}, {
"name" : "...",
"value" : "..."
} ] ]
},
"storageTables" : {
"storageTable" : [ [ {
"updatePeriods" : { },
"storageName" : "...",
"tableDesc" : { }
}, {
"updatePeriods" : { },
"storageName" : "...",
"tableDesc" : { }
} ], [ {
"updatePeriods" : { },
"storageName" : "...",
"tableDesc" : { }
}, {
"updatePeriods" : { },
"storageName" : "...",
"tableDesc" : { }
} ] ]
},
"dimensionName" : "...",
"tableName" : "...",
"weight" : 12345.0
}
HTTP/1.1 204 No Content
Content-Type: application/json
{
"status" : "SUCCEEDED",
"message" : "...",
"fieldsToAppend" : [ [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ], [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ] ]
}
Drop the dimension table, specified by name
| name | type | description | constraints |
|---|---|---|---|
| dimTableName | path | The dimension table name | |
| cascade | query | if true, all the storage tables of dimension table will also be dropped | boolean |
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | APIResult (JSON) | APIResult with state Status#SUCCEEDED, if drop was successful. APIResult with state Status#FAILED, if drop has failed |
| application/json | APIResult (JSON) | |
| application/xml | APIResult (XML) |
DELETE /metastore/dimtables/{dimTableName}
Accept: application/json
HTTP/1.1 204 No Content
Content-Type: application/json
{
"status" : "FAILED",
"message" : "...",
"fieldsToAppend" : [ [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ], [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ] ]
}
Get the dimension table specified by name
| name | type | description |
|---|---|---|
| dimTableName | path | The cube name |
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | object (JSON) | JAXB representation of XDimensionTable |
| application/json | object (JSON) | |
| application/xml | anyType (XML) |
GET /metastore/dimtables/{dimTableName}
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
...
Get all storages of the dimension table in the metastore
| name | type | description |
|---|---|---|
| dimTableName | path | The dimension table name |
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | StringList (JSON) | StringList consisting of all the storage names |
| application/json | StringList (JSON) | |
| application/xml | stringList (XML) |
GET /metastore/dimtables/{dimTableName}/storages
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
{
"elements" : [ [ "...", "..." ], [ "...", "..." ] ]
}
Add storage to dimension table
| name | type | description |
|---|---|---|
| dimTableName | path | The dimension table name |
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | XStorageTableElement (JSON) | The Storage table description |
| application/json | XStorageTableElement (JSON) | |
| application/xml | x_storage_table_element (XML) |
| media type | data type | description |
|---|---|---|
| application/json | APIResult (JSON) | APIResult with state Status#SUCCEEDED, if add was successful. APIResult with state Status#FAILED, if add has failed |
| application/json | APIResult (JSON) | |
| application/xml | APIResult (XML) |
POST /metastore/dimtables/{dimTableName}/storages
Content-Type: application/json
Accept: application/json
{
"updatePeriods" : {
"updatePeriodTableDescriptor" : [ [ {
"updatePeriod" : "MINUTELY",
"tableDesc" : { }
}, {
"updatePeriod" : "SECONDLY",
"tableDesc" : { }
} ], [ {
"updatePeriod" : "WEEKLY",
"tableDesc" : { }
}, {
"updatePeriod" : "DAILY",
"tableDesc" : { }
} ] ],
"updatePeriod" : [ [ "HOURLY", "MINUTELY" ], [ "HOURLY", "SECONDLY" ] ]
},
"storageName" : "...",
"tableDesc" : {
"partCols" : {
"column" : [ [ { }, { } ], [ { }, { } ] ]
},
"tableParameters" : {
"property" : [ [ { }, { } ], [ { }, { } ] ]
},
"serdeParameters" : {
"property" : [ [ { }, { } ], [ { }, { } ] ]
},
"bucketCols" : [ [ "...", "..." ], [ "...", "..." ] ],
"sortCols" : [ [ "...", "..." ], [ "...", "..." ] ],
"sortColOrder" : [ [ 12345, 12345 ], [ 12345, 12345 ] ],
"skewedInfo" : [ [ {
"colNames" : [ [ "...", "..." ], [ "...", "..." ] ],
"colValues" : [ [ { }, { } ], [ { }, { } ] ],
"valueLocationMap" : [ [ { }, { } ], [ { }, { } ] ]
}, {
"colNames" : [ [ "...", "..." ], [ "...", "..." ] ],
"colValues" : [ [ { }, { } ], [ { }, { } ] ],
"valueLocationMap" : [ [ { }, { } ], [ { }, { } ] ]
} ], [ {
"colNames" : [ [ "...", "..." ], [ "...", "..." ] ],
"colValues" : [ [ { }, { } ], [ { }, { } ] ],
"valueLocationMap" : [ [ { }, { } ], [ { }, { } ] ]
}, {
"colNames" : [ [ "...", "..." ], [ "...", "..." ] ],
"colValues" : [ [ { }, { } ], [ { }, { } ] ],
"valueLocationMap" : [ [ { }, { } ], [ { }, { } ] ]
} ] ],
"timePartCols" : [ [ "...", "..." ], [ "...", "..." ] ],
"external" : true,
"tableLocation" : "...",
"inputFormat" : "...",
"outputFormat" : "...",
"fieldDelimiter" : "...",
"escapeChar" : "...",
"collectionDelimiter" : "...",
"lineDelimiter" : "...",
"mapKeyDelimiter" : "...",
"serdeClassName" : "...",
"storageHandlerName" : "...",
"numBuckets" : 12345,
"compressed" : true
}
}
HTTP/1.1 201 Created
Content-Type: application/json
{
"status" : "FAILED",
"message" : "...",
"fieldsToAppend" : [ [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ], [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ] ]
}
Get the dim storage table
| name | type | description |
|---|---|---|
| dimTableName | path | The fact table name |
| storage | path | The storage name |
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | object (JSON) | JAXB representation of XStorageTableElement |
| application/json | object (JSON) | |
| application/xml | anyType (XML) |
GET /metastore/dimtables/{dimTableName}/storages/{storage}
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
...
Drop all the storage tables of a dimension table
| name | type | description |
|---|---|---|
| dimTableName | path | The dimension table name |
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | APIResult (JSON) | APIResult with state Status#SUCCEEDED, if drop was successful. APIResult with state Status#FAILED, if drop has failed |
| application/json | APIResult (JSON) | |
| application/xml | APIResult (XML) |
DELETE /metastore/dimtables/{dimTableName}/storages
Accept: application/json
HTTP/1.1 204 No Content
Content-Type: application/json
{
"status" : "SUCCEEDED",
"message" : "...",
"fieldsToAppend" : [ [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ], [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ] ]
}
Drop the storage of a dimension table, specified by name
| name | type | description |
|---|---|---|
| dimTableName | path | The dimension table name |
| storage | path | The storage name |
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | APIResult (JSON) | APIResult with state Status#SUCCEEDED, if drop was successful. APIResult with state Status#FAILED, if drop has failed |
| application/json | APIResult (JSON) | |
| application/xml | APIResult (XML) |
DELETE /metastore/dimtables/{dimTableName}/storages/{storage}
Accept: application/json
HTTP/1.1 204 No Content
Content-Type: application/json
{
"status" : "PARTIAL",
"message" : "...",
"fieldsToAppend" : [ [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ], [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ] ]
}
Get all partition of the dimension table in the specified storage; can be filtered
| name | type | description |
|---|---|---|
| dimTableName | path | The dimension table name |
| storage | path | The storage name |
| filter | query | The filter for partitions, string representation of the filter for ex: x < "xxx" and y > "yyy" |
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | object (JSON) | JAXB representation of XPartitionList containing XPartition objects |
| application/json | object (JSON) | |
| application/xml | anyType (XML) |
GET /metastore/dimtables/{dimTableName}/storages/{storage}/partitions
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
...
Drop the partitions in the storage of a dimension table; can specified filter as well
| name | type | description |
|---|---|---|
| dimTableName | path | The dimension table name |
| storage | path | The storage name |
| filter | query | The filter for partitions, string representation of the filter for ex: x < 'xxx' and y > 'yyy' |
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | APIResult (JSON) | APIResult with state Status#SUCCEEDED, if drop was successful. APIResult with state Status#FAILED, if drop has failed |
| application/json | APIResult (JSON) | |
| application/xml | APIResult (XML) |
DELETE /metastore/dimtables/{dimTableName}/storages/{storage}/partitions
Accept: application/json
HTTP/1.1 204 No Content
Content-Type: application/json
{
"status" : "PARTIAL",
"message" : "...",
"fieldsToAppend" : [ [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ], [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ] ]
}
Drop the partitions in the storage of a dimension table, specified by exact values
| name | type | description |
|---|---|---|
| dimTableName | path | The dimension table name |
| storage | path | The storage name |
| sessionid | query | The sessionid in which user is working |
| values | query | Comma separated values |
| media type | data type | description |
|---|---|---|
| application/json | APIResult (JSON) | APIResult with state Status#SUCCEEDED, if drop was successful. APIResult with state Status#FAILED, if drop has failed |
| application/json | APIResult (JSON) | |
| application/xml | APIResult (XML) |
DELETE /metastore/dimtables/{dimTableName}/storages/{storage}/partition
Accept: application/json
HTTP/1.1 204 No Content
Content-Type: application/json
{
"status" : "FAILED",
"message" : "...",
"fieldsToAppend" : [ [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ], [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ] ]
}
Add a new partition for a storage of dimension
| name | type | description |
|---|---|---|
| dimTableName | path | dimension table name |
| storage | path | storage name |
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | XPartition (JSON) | XPartition representation of partition |
| application/json | XPartition (JSON) | |
| application/xml | x_partition (XML) |
| media type | data type | description |
|---|---|---|
| application/json | APIResult (JSON) | APIResult with state Status#SUCCEEDED, if add was successful. APIResult with state Status#FAILED, if add has failed |
| application/json | APIResult (JSON) | |
| application/xml | APIResult (XML) |
POST /metastore/dimtables/{dimTableName}/storages/{storage}/partition
Content-Type: application/json
Accept: application/json
{
"nonTimePartitionSpec" : {
"partSpecElement" : [ [ {
"key" : "...",
"value" : "..."
}, {
"key" : "...",
"value" : "..."
} ], [ {
"key" : "...",
"value" : "..."
}, {
"key" : "...",
"value" : "..."
} ] ]
},
"timePartitionSpec" : {
"partSpecElement" : [ [ {
"key" : "...",
"value" : 12345
}, {
"key" : "...",
"value" : 12345
} ], [ {
"key" : "...",
"value" : 12345
}, {
"key" : "...",
"value" : 12345
} ] ]
},
"fullPartitionSpec" : {
"partSpecElement" : [ [ {
"key" : "...",
"value" : "..."
}, {
"key" : "...",
"value" : "..."
} ], [ {
"key" : "...",
"value" : "..."
}, {
"key" : "...",
"value" : "..."
} ] ]
},
"partitionParameters" : {
"property" : [ [ {
"name" : "...",
"value" : "..."
}, {
"name" : "...",
"value" : "..."
} ], [ {
"name" : "...",
"value" : "..."
}, {
"name" : "...",
"value" : "..."
} ] ]
},
"serdeParameters" : {
"property" : [ [ {
"name" : "...",
"value" : "..."
}, {
"name" : "...",
"value" : "..."
} ], [ {
"name" : "...",
"value" : "..."
}, {
"name" : "...",
"value" : "..."
} ] ]
},
"factOrDimensionTableName" : "...",
"name" : "...",
"location" : "...",
"inputFormat" : "...",
"outputFormat" : "...",
"serdeClassname" : "...",
"updatePeriod" : "QUARTERLY"
}
HTTP/1.1 201 Created
Content-Type: application/json
{
"status" : "SUCCEEDED",
"message" : "...",
"fieldsToAppend" : [ [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ], [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ] ]
}
Updates an existing partition for a storage of dimension
| name | type | description |
|---|---|---|
| dimTableName | path | dimension table name |
| storage | path | storage name |
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | XPartition (JSON) | XPartition representation of partition |
| application/json | XPartition (JSON) | |
| application/xml | x_partition (XML) |
| media type | data type | description |
|---|---|---|
| application/json | APIResult (JSON) | APIResult with state Status#SUCCEEDED, if update was successful. APIResult with state Status#FAILED, if update has failed |
| application/json | APIResult (JSON) | |
| application/xml | APIResult (XML) |
PUT /metastore/dimtables/{dimTableName}/storages/{storage}/partition
Content-Type: application/json
Accept: application/json
{
"nonTimePartitionSpec" : {
"partSpecElement" : [ [ {
"key" : "...",
"value" : "..."
}, {
"key" : "...",
"value" : "..."
} ], [ {
"key" : "...",
"value" : "..."
}, {
"key" : "...",
"value" : "..."
} ] ]
},
"timePartitionSpec" : {
"partSpecElement" : [ [ {
"key" : "...",
"value" : 12345
}, {
"key" : "...",
"value" : 12345
} ], [ {
"key" : "...",
"value" : 12345
}, {
"key" : "...",
"value" : 12345
} ] ]
},
"fullPartitionSpec" : {
"partSpecElement" : [ [ {
"key" : "...",
"value" : "..."
}, {
"key" : "...",
"value" : "..."
} ], [ {
"key" : "...",
"value" : "..."
}, {
"key" : "...",
"value" : "..."
} ] ]
},
"partitionParameters" : {
"property" : [ [ {
"name" : "...",
"value" : "..."
}, {
"name" : "...",
"value" : "..."
} ], [ {
"name" : "...",
"value" : "..."
}, {
"name" : "...",
"value" : "..."
} ] ]
},
"serdeParameters" : {
"property" : [ [ {
"name" : "...",
"value" : "..."
}, {
"name" : "...",
"value" : "..."
} ], [ {
"name" : "...",
"value" : "..."
}, {
"name" : "...",
"value" : "..."
} ] ]
},
"factOrDimensionTableName" : "...",
"name" : "...",
"location" : "...",
"inputFormat" : "...",
"outputFormat" : "...",
"serdeClassname" : "...",
"updatePeriod" : "MINUTELY"
}
HTTP/1.1 204 No Content
Content-Type: application/json
{
"status" : "FAILED",
"message" : "...",
"fieldsToAppend" : [ [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ], [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ] ]
}
Add new partitions for a storage of dimension
| name | type | description |
|---|---|---|
| dimTableName | path | dimension table name |
| storage | path | storage name |
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | XPartitionList (JSON) | XPartitionList representation of list of partitions |
| application/json | XPartitionList (JSON) | |
| application/xml | x_partition_list (XML) |
| media type | data type | description |
|---|---|---|
| application/json | APIResult (JSON) | APIResult with state Status#SUCCEEDED, if add was successful. APIResult with state Status#FAILED, if add has failed |
| application/json | APIResult (JSON) | |
| application/xml | APIResult (XML) |
POST /metastore/dimtables/{dimTableName}/storages/{storage}/partitions
Content-Type: application/json
Accept: application/json
{
"partition" : [ [ {
"nonTimePartitionSpec" : {
"partSpecElement" : [ [ { }, { } ], [ { }, { } ] ]
},
"timePartitionSpec" : {
"partSpecElement" : [ [ { }, { } ], [ { }, { } ] ]
},
"fullPartitionSpec" : {
"partSpecElement" : [ [ { }, { } ], [ { }, { } ] ]
},
"partitionParameters" : {
"property" : [ [ { }, { } ], [ { }, { } ] ]
},
"serdeParameters" : {
"property" : [ [ { }, { } ], [ { }, { } ] ]
},
"factOrDimensionTableName" : "...",
"name" : "...",
"location" : "...",
"inputFormat" : "...",
"outputFormat" : "...",
"serdeClassname" : "...",
"updatePeriod" : "YEARLY"
}, {
"nonTimePartitionSpec" : {
"partSpecElement" : [ [ { }, { } ], [ { }, { } ] ]
},
"timePartitionSpec" : {
"partSpecElement" : [ [ { }, { } ], [ { }, { } ] ]
},
"fullPartitionSpec" : {
"partSpecElement" : [ [ { }, { } ], [ { }, { } ] ]
},
"partitionParameters" : {
"property" : [ [ { }, { } ], [ { }, { } ] ]
},
"serdeParameters" : {
"property" : [ [ { }, { } ], [ { }, { } ] ]
},
"factOrDimensionTableName" : "...",
"name" : "...",
"location" : "...",
"inputFormat" : "...",
"outputFormat" : "...",
"serdeClassname" : "...",
"updatePeriod" : "SECONDLY"
} ], [ {
"nonTimePartitionSpec" : {
"partSpecElement" : [ [ { }, { } ], [ { }, { } ] ]
},
"timePartitionSpec" : {
"partSpecElement" : [ [ { }, { } ], [ { }, { } ] ]
},
"fullPartitionSpec" : {
"partSpecElement" : [ [ { }, { } ], [ { }, { } ] ]
},
"partitionParameters" : {
"property" : [ [ { }, { } ], [ { }, { } ] ]
},
"serdeParameters" : {
"property" : [ [ { }, { } ], [ { }, { } ] ]
},
"factOrDimensionTableName" : "...",
"name" : "...",
"location" : "...",
"inputFormat" : "...",
"outputFormat" : "...",
"serdeClassname" : "...",
"updatePeriod" : "MINUTELY"
}, {
"nonTimePartitionSpec" : {
"partSpecElement" : [ [ { }, { } ], [ { }, { } ] ]
},
"timePartitionSpec" : {
"partSpecElement" : [ [ { }, { } ], [ { }, { } ] ]
},
"fullPartitionSpec" : {
"partSpecElement" : [ [ { }, { } ], [ { }, { } ] ]
},
"partitionParameters" : {
"property" : [ [ { }, { } ], [ { }, { } ] ]
},
"serdeParameters" : {
"property" : [ [ { }, { } ], [ { }, { } ] ]
},
"factOrDimensionTableName" : "...",
"name" : "...",
"location" : "...",
"inputFormat" : "...",
"outputFormat" : "...",
"serdeClassname" : "...",
"updatePeriod" : "SECONDLY"
} ] ]
}
HTTP/1.1 201 Created
Content-Type: application/json
{
"status" : "PARTIAL",
"message" : "...",
"fieldsToAppend" : [ [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ], [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ] ]
}
Add new partitions for a storage of dimension
| name | type | description |
|---|---|---|
| dimTableName | path | dimension table name |
| storage | path | storage name |
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | XPartitionList (JSON) | XPartitionList representation of list of partitions |
| application/json | XPartitionList (JSON) | |
| application/xml | x_partition_list (XML) |
| media type | data type | description |
|---|---|---|
| application/json | APIResult (JSON) | APIResult with state Status#SUCCEEDED, if update was successful. APIResult with state Status#FAILED, if update has failed |
| application/json | APIResult (JSON) | |
| application/xml | APIResult (XML) |
PUT /metastore/dimtables/{dimTableName}/storages/{storage}/partitions
Content-Type: application/json
Accept: application/json
{
"partition" : [ [ {
"nonTimePartitionSpec" : {
"partSpecElement" : [ [ { }, { } ], [ { }, { } ] ]
},
"timePartitionSpec" : {
"partSpecElement" : [ [ { }, { } ], [ { }, { } ] ]
},
"fullPartitionSpec" : {
"partSpecElement" : [ [ { }, { } ], [ { }, { } ] ]
},
"partitionParameters" : {
"property" : [ [ { }, { } ], [ { }, { } ] ]
},
"serdeParameters" : {
"property" : [ [ { }, { } ], [ { }, { } ] ]
},
"factOrDimensionTableName" : "...",
"name" : "...",
"location" : "...",
"inputFormat" : "...",
"outputFormat" : "...",
"serdeClassname" : "...",
"updatePeriod" : "WEEKLY"
}, {
"nonTimePartitionSpec" : {
"partSpecElement" : [ [ { }, { } ], [ { }, { } ] ]
},
"timePartitionSpec" : {
"partSpecElement" : [ [ { }, { } ], [ { }, { } ] ]
},
"fullPartitionSpec" : {
"partSpecElement" : [ [ { }, { } ], [ { }, { } ] ]
},
"partitionParameters" : {
"property" : [ [ { }, { } ], [ { }, { } ] ]
},
"serdeParameters" : {
"property" : [ [ { }, { } ], [ { }, { } ] ]
},
"factOrDimensionTableName" : "...",
"name" : "...",
"location" : "...",
"inputFormat" : "...",
"outputFormat" : "...",
"serdeClassname" : "...",
"updatePeriod" : "SECONDLY"
} ], [ {
"nonTimePartitionSpec" : {
"partSpecElement" : [ [ { }, { } ], [ { }, { } ] ]
},
"timePartitionSpec" : {
"partSpecElement" : [ [ { }, { } ], [ { }, { } ] ]
},
"fullPartitionSpec" : {
"partSpecElement" : [ [ { }, { } ], [ { }, { } ] ]
},
"partitionParameters" : {
"property" : [ [ { }, { } ], [ { }, { } ] ]
},
"serdeParameters" : {
"property" : [ [ { }, { } ], [ { }, { } ] ]
},
"factOrDimensionTableName" : "...",
"name" : "...",
"location" : "...",
"inputFormat" : "...",
"outputFormat" : "...",
"serdeClassname" : "...",
"updatePeriod" : "WEEKLY"
}, {
"nonTimePartitionSpec" : {
"partSpecElement" : [ [ { }, { } ], [ { }, { } ] ]
},
"timePartitionSpec" : {
"partSpecElement" : [ [ { }, { } ], [ { }, { } ] ]
},
"fullPartitionSpec" : {
"partSpecElement" : [ [ { }, { } ], [ { }, { } ] ]
},
"partitionParameters" : {
"property" : [ [ { }, { } ], [ { }, { } ] ]
},
"serdeParameters" : {
"property" : [ [ { }, { } ], [ { }, { } ] ]
},
"factOrDimensionTableName" : "...",
"name" : "...",
"location" : "...",
"inputFormat" : "...",
"outputFormat" : "...",
"serdeClassname" : "...",
"updatePeriod" : "YEARLY"
} ] ]
}
HTTP/1.1 204 No Content
Content-Type: application/json
{
"status" : "PARTIAL",
"message" : "...",
"fieldsToAppend" : [ [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ], [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ] ]
}
Get flattened list of columns reachable from a cube or a dimension
| name | type | description | default | constraints |
|---|---|---|---|---|
| tableName | path | name of the table | ||
| add_chains | query | whether columns accessed via chains should also be returned | true | boolean |
| sessionid | query | session id |
| media type | data type | description |
|---|---|---|
| application/json | object (JSON) | list of measures, expressions or dimension attributes |
| application/json | object (JSON) | |
| application/xml | anyType (XML) |
GET /metastore/flattened/{tableName}
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
...
Get all chains that belong to a table(cube or dimension) in the metastore
| name | type | description |
|---|---|---|
| tableName | path | name of the table. can be either cube or dimension |
| sessionid | query | The sessionid in which user is working |
| media type | data type | description |
|---|---|---|
| application/json | object (JSON) | XJoinChains object |
| application/json | object (JSON) | |
| application/xml | anyType (XML) |
GET /metastore/chains/{tableName}
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
...
Get the latest available date upto which data is available for the base cubes, for the time dimension.
| name | type | description |
|---|---|---|
| cubeName | path | name of the base cube |
| sessionid | query | The sessionid in which user is working |
| timeDimension | query | time dimension name |
| media type | data type | description |
|---|---|---|
| application/json | DateTime (JSON) | DateTime object which has Date in it. |
| application/json | DateTime (JSON) | |
| application/xml | dateTime (XML) |
GET /metastore/cubes/{cubeName}/latestdate
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
{
"date" : 12345,
"fieldsToAppend" : [ [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ], [ {
"name" : "...",
"value" : { }
}, {
"name" : "...",
"value" : { }
} ] ]
}
Get the partition timelines.
| name | type | description |
|---|---|---|
| factName | path | name of the fact |
| sessionid | query | The sessionid in which user is working |
| storage | query | storage Name |
| timeDimension | query | time dimension name |
| updatePeriod | query | update period |
| media type | data type | description |
|---|---|---|
| application/json | StringList (JSON) | List os partition timelines. |
| application/json | StringList (JSON) | |
| application/xml | stringList (XML) |
GET /metastore/facts/{factName}/timelines
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
{
"elements" : [ [ "...", "..." ], [ "...", "..." ] ]
}