ThriftHiveMetastore-remote 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233
  1. #!/usr/bin/env python
  2. #
  3. # Autogenerated by Thrift
  4. #
  5. # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  6. #
  7. import sys
  8. import pprint
  9. from urlparse import urlparse
  10. from thrift.transport import TTransport
  11. from thrift.transport import TSocket
  12. from thrift.transport import THttpClient
  13. from thrift.protocol import TBinaryProtocol
  14. import ThriftHiveMetastore
  15. from ttypes import *
  16. if len(sys.argv) <= 1 or sys.argv[1] == '--help':
  17. print ''
  18. print 'Usage: ' + sys.argv[0] + ' [-h host:port] [-u url] [-f[ramed]] function [arg1 [arg2...]]'
  19. print ''
  20. print 'Functions:'
  21. print ' bool create_database(string name, string description)'
  22. print ' Database get_database(string name)'
  23. print ' bool drop_database(string name)'
  24. print ' get_databases()'
  25. print ' Type get_type(string name)'
  26. print ' bool create_type(Type type)'
  27. print ' bool drop_type(string type)'
  28. print ' get_type_all(string name)'
  29. print ' get_fields(string db_name, string table_name)'
  30. print ' get_schema(string db_name, string table_name)'
  31. print ' void create_table(Table tbl)'
  32. print ' void drop_table(string dbname, string name, bool deleteData)'
  33. print ' get_tables(string db_name, string pattern)'
  34. print ' Table get_table(string dbname, string tbl_name)'
  35. print ' void alter_table(string dbname, string tbl_name, Table new_tbl)'
  36. print ' Partition add_partition(Partition new_part)'
  37. print ' Partition append_partition(string db_name, string tbl_name, part_vals)'
  38. print ' bool drop_partition(string db_name, string tbl_name, part_vals, bool deleteData)'
  39. print ' Partition get_partition(string db_name, string tbl_name, part_vals)'
  40. print ' get_partitions(string db_name, string tbl_name, i16 max_parts)'
  41. print ' get_partition_names(string db_name, string tbl_name, i16 max_parts)'
  42. print ' void alter_partition(string db_name, string tbl_name, Partition new_part)'
  43. print ' string get_config_value(string name, string defaultValue)'
  44. print ''
  45. sys.exit(0)
  46. pp = pprint.PrettyPrinter(indent = 2)
  47. host = 'localhost'
  48. port = 9090
  49. uri = ''
  50. framed = False
  51. http = False
  52. argi = 1
  53. if sys.argv[argi] == '-h':
  54. parts = sys.argv[argi+1].split(':')
  55. host = parts[0]
  56. port = int(parts[1])
  57. argi += 2
  58. if sys.argv[argi] == '-u':
  59. url = urlparse(sys.argv[argi+1])
  60. parts = url[1].split(':')
  61. host = parts[0]
  62. if len(parts) > 1:
  63. port = int(parts[1])
  64. else:
  65. port = 80
  66. uri = url[2]
  67. http = True
  68. argi += 2
  69. if sys.argv[argi] == '-f' or sys.argv[argi] == '-framed':
  70. framed = True
  71. argi += 1
  72. cmd = sys.argv[argi]
  73. args = sys.argv[argi+1:]
  74. if http:
  75. transport = THttpClient.THttpClient(host, port, uri)
  76. else:
  77. socket = TSocket.TSocket(host, port)
  78. if framed:
  79. transport = TTransport.TFramedTransport(socket)
  80. else:
  81. transport = TTransport.TBufferedTransport(socket)
  82. protocol = TBinaryProtocol.TBinaryProtocol(transport)
  83. client = ThriftHiveMetastore.Client(protocol)
  84. transport.open()
  85. if cmd == 'create_database':
  86. if len(args) != 2:
  87. print 'create_database requires 2 args'
  88. sys.exit(1)
  89. pp.pprint(client.create_database(args[0],args[1],))
  90. elif cmd == 'get_database':
  91. if len(args) != 1:
  92. print 'get_database requires 1 args'
  93. sys.exit(1)
  94. pp.pprint(client.get_database(args[0],))
  95. elif cmd == 'drop_database':
  96. if len(args) != 1:
  97. print 'drop_database requires 1 args'
  98. sys.exit(1)
  99. pp.pprint(client.drop_database(args[0],))
  100. elif cmd == 'get_databases':
  101. if len(args) != 0:
  102. print 'get_databases requires 0 args'
  103. sys.exit(1)
  104. pp.pprint(client.get_databases())
  105. elif cmd == 'get_type':
  106. if len(args) != 1:
  107. print 'get_type requires 1 args'
  108. sys.exit(1)
  109. pp.pprint(client.get_type(args[0],))
  110. elif cmd == 'create_type':
  111. if len(args) != 1:
  112. print 'create_type requires 1 args'
  113. sys.exit(1)
  114. pp.pprint(client.create_type(eval(args[0]),))
  115. elif cmd == 'drop_type':
  116. if len(args) != 1:
  117. print 'drop_type requires 1 args'
  118. sys.exit(1)
  119. pp.pprint(client.drop_type(args[0],))
  120. elif cmd == 'get_type_all':
  121. if len(args) != 1:
  122. print 'get_type_all requires 1 args'
  123. sys.exit(1)
  124. pp.pprint(client.get_type_all(args[0],))
  125. elif cmd == 'get_fields':
  126. if len(args) != 2:
  127. print 'get_fields requires 2 args'
  128. sys.exit(1)
  129. pp.pprint(client.get_fields(args[0],args[1],))
  130. elif cmd == 'get_schema':
  131. if len(args) != 2:
  132. print 'get_schema requires 2 args'
  133. sys.exit(1)
  134. pp.pprint(client.get_schema(args[0],args[1],))
  135. elif cmd == 'create_table':
  136. if len(args) != 1:
  137. print 'create_table requires 1 args'
  138. sys.exit(1)
  139. pp.pprint(client.create_table(eval(args[0]),))
  140. elif cmd == 'drop_table':
  141. if len(args) != 3:
  142. print 'drop_table requires 3 args'
  143. sys.exit(1)
  144. pp.pprint(client.drop_table(args[0],args[1],eval(args[2]),))
  145. elif cmd == 'get_tables':
  146. if len(args) != 2:
  147. print 'get_tables requires 2 args'
  148. sys.exit(1)
  149. pp.pprint(client.get_tables(args[0],args[1],))
  150. elif cmd == 'get_table':
  151. if len(args) != 2:
  152. print 'get_table requires 2 args'
  153. sys.exit(1)
  154. pp.pprint(client.get_table(args[0],args[1],))
  155. elif cmd == 'alter_table':
  156. if len(args) != 3:
  157. print 'alter_table requires 3 args'
  158. sys.exit(1)
  159. pp.pprint(client.alter_table(args[0],args[1],eval(args[2]),))
  160. elif cmd == 'add_partition':
  161. if len(args) != 1:
  162. print 'add_partition requires 1 args'
  163. sys.exit(1)
  164. pp.pprint(client.add_partition(eval(args[0]),))
  165. elif cmd == 'append_partition':
  166. if len(args) != 3:
  167. print 'append_partition requires 3 args'
  168. sys.exit(1)
  169. pp.pprint(client.append_partition(args[0],args[1],eval(args[2]),))
  170. elif cmd == 'drop_partition':
  171. if len(args) != 4:
  172. print 'drop_partition requires 4 args'
  173. sys.exit(1)
  174. pp.pprint(client.drop_partition(args[0],args[1],eval(args[2]),eval(args[3]),))
  175. elif cmd == 'get_partition':
  176. if len(args) != 3:
  177. print 'get_partition requires 3 args'
  178. sys.exit(1)
  179. pp.pprint(client.get_partition(args[0],args[1],eval(args[2]),))
  180. elif cmd == 'get_partitions':
  181. if len(args) != 3:
  182. print 'get_partitions requires 3 args'
  183. sys.exit(1)
  184. pp.pprint(client.get_partitions(args[0],args[1],eval(args[2]),))
  185. elif cmd == 'get_partition_names':
  186. if len(args) != 3:
  187. print 'get_partition_names requires 3 args'
  188. sys.exit(1)
  189. pp.pprint(client.get_partition_names(args[0],args[1],eval(args[2]),))
  190. elif cmd == 'alter_partition':
  191. if len(args) != 3:
  192. print 'alter_partition requires 3 args'
  193. sys.exit(1)
  194. pp.pprint(client.alter_partition(args[0],args[1],eval(args[2]),))
  195. elif cmd == 'get_config_value':
  196. if len(args) != 2:
  197. print 'get_config_value requires 2 args'
  198. sys.exit(1)
  199. pp.pprint(client.get_config_value(args[0],args[1],))
  200. transport.close()