PKG-INFO 5.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. Metadata-Version: 1.1
  2. Name: navoptapi
  3. Version: 0+untagged.4944.g4b9a5db.dirty
  4. Summary: Cloudera Navigator Optimizer Api
  5. Home-page: http://www.cloudera.com/
  6. Author: UNKNOWN
  7. Author-email: UNKNOWN
  8. License: Apache License 2.0
  9. Description: Cloudera Navigator Optimizer Api SDK
  10. ==============================================
  11. This package provides a API SDK for Cloudera Navigator Optimizer.
  12. Install the package
  13. ====================
  14. sudo pip install navoptapi-0.1.0.tar.gz
  15. Example Usage for the Api
  16. =========================
  17. * Import the module
  18. from navoptapi.api_lib import *
  19. * Create NavOpt object passing hostname/address, access key and private key:
  20. nav = ApiLib("navopt", "127.0.0.1", "e0819f3a-1e6f-4904-be69-4ftrf56983", "-----BEGIN PRIVATE KEY-----\ngm9aeam8fgZ5VXPbXRo9EYepZcWPWeYO1WjPyI\nF17opGTl9M/2H+kXmsmyPwLBSQE96Q==\n-----END PRIVATE KEY-----")
  21. * Upload a file to NavOpt:
  22. resp = nav.call_api("upload", {"tenant" : "6bd23dea-13aa-ce13-4a6d-1614151428fc", "fileLocation": "/Users/harshil/Downloads/tmpbUMdbb.csv", "sourcePlatform": "hive", "colDelim": ",", "rowDelim": "\n", "headerFields": [{"count": 0, "coltype": "SQL_ID", "use": True, "tag": "", "name": "SQL_ID"}, {"count": 0, "coltype": "NONE", "use": True, "tag": "", "name": "ELAPSED_TIME"}, {"count": 0, "coltype": "SQL_QUERY", "use": True, "tag": "", "name": "SQL_FULLTEXT"}]})
  23. print resp
  24. * Get Status of the upload:
  25. resp = nav.call_api("uploadStatus", {"tenant" : "6bd23dea-13aa-ce13-4a6d-1614151428fc", "workloadId": "10661f8a-83e1-4ff7-b2be-fabb2ee971bd"})
  26. print json.dumps(resp.json(), indent=2)
  27. * Get Top Tables for a workload:
  28. resp = nav.call_api("getTopTables", {"tenant" : "d6d54b73-2bab-e413-5376-a805f5d4ae53"})
  29. print json.dumps(resp.json(), indent=2)
  30. * Get Top Databases for a workload:
  31. resp = nav.call_api("getTopDataBases", {"tenant" : "d6d54b73-2bab-e413-5376-a805f5d4ae53"})
  32. print json.dumps(resp.json(), indent=2)
  33. * Get Top Queries for a workload:
  34. resp = nav.call_api("getTopQueries", {"tenant" : "d6d54b73-2bab-e413-5376-a805f5d4ae53"})
  35. print json.dumps(resp.json(), indent=2)
  36. * Get Top Columns for a workload:
  37. resp = nav.call_api("getTopColumns", {"tenant" : "d6d54b73-2bab-e413-5376-a805f5d4ae53", "dbTableList":["default.sample_07"]})
  38. print json.dumps(resp.json(), indent=2)
  39. * Get Top Filters for a workload:
  40. resp = nav.call_api("getTopFilters", {"tenant" : "d6d54b73-2bab-e413-5376-a805f5d4ae53", "dbTableList":["default.sample_07"]})
  41. print json.dumps(resp.json(), indent=2)
  42. * Get Top Aggregates for a workload:
  43. resp = nav.call_api("getTopAggs", {"tenant" : "d6d54b73-2bab-e413-5376-a805f5d4ae53", "dbTableList":["default.sample_07"]})
  44. print json.dumps(resp.json(), indent=2)
  45. * Get Top Joins for a workload:
  46. resp = nav.call_api("getTopJoins", {"tenant" : "d6d54b73-2bab-e413-5376-a805f5d4ae53", "dbTableList":["default.sample_07"]})
  47. print json.dumps(resp.json(), indent=2)
  48. * Get Query Compatibility:
  49. resp = nav.call_api("getQueryCompatible", {"tenant" : "d6d54b73-2bab-e413-5376-a805f5d4ae53", "query":"select supplier.s_acctbal, supplier.s_name, nation.n_name, part.p_partkey, part.p_mfgr, supplier.s_address, supplier.s_phone, supplier.s_comment from part, supplier, partsupp, nation, region where part.p_partkey = partsupp.ps_partkey and supplier.s_suppkey = partsupp.ps_suppkey and part.p_size = 15 and part.p_type like '%BRASS' and supplier.s_nationkey = nation.n_nationkey and nation.n_regionkey = region.r_regionkey and region.r_name = 'EUROPE' and partsupp.ps_supplycost = ( select min(partsupp.ps_supplycost) from partsupp, supplier, nation, region where part.p_partkey = partsupp.ps_partkey and supplier.s_suppkey = partsupp.ps_suppkey and supplier.s_nationkey = nation.n_nationkey and nation.n_regionkey = region.r_regionkey and region.r_name = 'EUROPE' ) order by supplier.s_acctbal desc, nation.n_name, supplier.s_name, part.p_partkey", "sourcePlatform":"teradata", "targetPlatform":"hive"})
  50. print json.dumps(resp.json(), indent=2)
  51. * Get Query Risk Analysis:
  52. resp = nav.call_api("getQueryRisk", {"tenant" : "d6d54b73-2bab-e413-5376-a805f5d4ae53", "query": "select * from web_logs limit 10"})
  53. print json.dumps(resp.json(), indent=2)
  54. Platform: UNKNOWN
  55. Classifier: Development Status :: 3 - Alpha
  56. Classifier: Intended Audience :: Developers
  57. Classifier: Topic :: Software Development :: System Administrators
  58. Classifier: License :: OSI Approved :: Apache License 2.0
  59. Classifier: Natural Language :: English
  60. Classifier: Programming Language :: Python
  61. Classifier: Programming Language :: Python :: 2.6
  62. Classifier: Programming Language :: Python :: 2.7,Programming Language :: Python :: 3
  63. Classifier: Programming Language :: Python :: 3.3
  64. Classifier: Programming Language :: Python :: 3.4