[jira] [Resolved] (HAWQ-459) Enhance Metadata Rest API to support table(s)

2016-03-22 Thread Shivram Mani (JIRA)

 [ 
https://issues.apache.org/jira/browse/HAWQ-459?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Shivram Mani resolved HAWQ-459.
---
Resolution: Fixed

> Enhance Metadata Rest API to support table(s)
> -
>
> Key: HAWQ-459
> URL: https://issues.apache.org/jira/browse/HAWQ-459
> Project: Apache HAWQ
>  Issue Type: Sub-task
>  Components: Hcatalog, PXF
>Reporter: Shivram Mani
>Assignee: Shivram Mani
> Fix For: 2.0.0
>
>
> Enhance the metadata endpoint using /Metdata/getMetadata to support 
> retrieving metadata for generic datasources, i.e. Hive, HBase, HDFS, etc and 
> support retrieving metadata for multiple objects based on wildcard pattern
> h1.Method supported
> ||*name*||
> |GET|
> h1.Path mapped
> pxf//Metadata/getMetadata
> h1.Input parameters:
> ||Name||Description||Is mandatory?||Could be a wildcard?||Valid input values||
> |profile|Type of source to fetch data from, should support Hive.|Yes|No|hive|
> |pattern|File or table name or pattern. Patterns are supported using wildcard 
> *. |Yes|Yes|db.table or file path|
> In case of Hive, patterns corresponds to schema.table
> In case of HBase, pattern=schema.table
> In case of HDFS, pattern=absolute path to file
> h1. HTTP return codes:
> ||*Code*||*Meaning*||
> |200|found some result set|
> |400|not all required parameters passed|
> |404|didn't find any results for given parameters, empty result set|
> |405|called method other than GET|
> |500|unable to access underlying metastore(hive, hbase, hdfs etc), datasource 
> not supported, some other exceptions|
> h1. Return data format for 200 code:
> {code}
> {  
>"PXFMetadata":[  
>   {  
>  "item":{  
> "path":"default",
> "name":"abc"
>  },
>  "fields":[  
> {  
>"name":"a",
>"type":"int"
> },
> {  
>"name":"b",
>"type":"float"
> }
>  ]
>   },
>   {  
>  "item":{  
> "path":"default",
> "name":"abcdef"
>  },
>  "fields":[  
> {  
>"name":"a",
>"type":"int"
> },
> {  
>"name":"b",
>"type":"float"
> }
>  ]
>   },
>   {  
>  "item":{  
> "path":"default",
> "name":"abcdefghk"
>  },
>  "fields":[  
> {  
>"name":"a",
>"type":"int"
> },
> {  
>"name":"b",
>"type":"float"
> }
>  ]
>   }
>]
> }
> {code}
> h1. Return data format for 404 code:
> {code}
> {  
>"PXFMetadata":[]
> }
> {code}
> h1. Return data format for 500 code:
> {code}
> {  
>"PXFError":{"code" : "XXX1", "message" : "Unable to reach Hive metastore"}
> }
> {code}
> h1. Examples
> Request:
> {code}
> curl -i 
> "http://localhost:51200/pxf/v14/Metadata/getMetadata?profile=hive&pattern=default.abc*";
>  
> {code}
> Response:
> {code}
> HTTP/1.1 200 OK
> Server: Apache-Coyote/1.1
> Content-Type: application/json
> Transfer-Encoding: chunked
> Date: Fri, 26 Feb 2016 03:33:53 GMT
> {  
>"PXFMetadata":[  
>   {  
>  "item":{ 
> "path":"default",
> "name":"abc"
>  },
>  "fields":[  
> {  
>"name":"a",
>"type":"int"
> },
> {  
>"name":"b",
>"type":"float"
> }
>  ]
>   },
>   {  
>  "item":{  
> "path":"default",
> "name":"abcdef"
>  },
>  "fields":[  
> {  
>"name":"a",
>"type":"int"
> },
> {  
>"name":"b",
>"type":"float"
> }
>  ]
>   },
>   {  
>  "item":{  
> "path":"default",
> "item":"abcdefghk"
>  },
>  "fields":[  
> {  
>"name":"a",
>"type":"int"
> },
> {  
>"name":"b",
>"type":"float"
> }
>  ]
>   }
>]
> }
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Resolved] (HAWQ-459) Enhance Metadata Rest API to support table(s)

2016-02-25 Thread Shivram Mani (JIRA)

 [ 
https://issues.apache.org/jira/browse/HAWQ-459?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Shivram Mani resolved HAWQ-459.
---
Resolution: Fixed

> Enhance Metadata Rest API to support table(s)
> -
>
> Key: HAWQ-459
> URL: https://issues.apache.org/jira/browse/HAWQ-459
> Project: Apache HAWQ
>  Issue Type: Sub-task
>  Components: Hcatalog, PXF
>Reporter: Shivram Mani
>Assignee: Shivram Mani
> Fix For: 2.0.0
>
>
> Currently we have Metadata/getTableMetadata endpoint, which takes "table" as 
> a path parameter and returns metadata for given table.
> Idea is to enhance this endpoint to support more advanced predicates, to 
> specify expressions for schema, table and database.
> h1.Input parameters:
> |*name*|
> |tables|
> |schemas||
> |databases|
> Each parameter is comma-separated list of strings.
> Method should filter result set against all provided parameters, using AND 
> operator. 
> h1. HTTP return codes:
> |*code*|*meaning*|
> |200|found some result set|
> |404|didn't found any results for given parameters, empty result set|
> |500|unable to access underlying metastore(hive, hbase, hdfs etc), some other 
> exception|
> h1. Return data format for 200 code:
> {code}
> {  
>"PXFMetadata":[  
>   {  
>  "table":{  
> "dbName":"default",
> "tableName":"t1"
>  },
>  "fields":[  
> {  
>"name":"a",
>"type":"int"
> },
> {  
>"name":"b",
>"type":"float"
> }
>  ]
>   },
>   {  
>  "table":{  
> "dbName":"default",
> "tableName":"t2"
>  },
>  "fields":[  
> {  
>"name":"a",
>"type":"int"
> },
> {  
>"name":"b",
>"type":"float"
> }
>  ]
>   },
>   {  
>  "table":{  
> "dbName":"default",
> "tableName":"t3"
>  },
>  "fields":[  
> {  
>"name":"a",
>"type":"int"
> },
> {  
>"name":"b",
>"type":"float"
> }
>  ]
>   }
>]
> }
> {code}
> h1. Return data format for 404 code:
> {code}
> {  
>"PXFMetadata":[]
> }
> {code}
> h1. Return data format for 500 code:
> {code}
> {  
>"PXFError":{"code" : "XXX1", "message" : "Unable to reach Hive metastore"}
> }
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)