| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233 |
- #!/usr/bin/env python
- #
- # Autogenerated by Thrift
- #
- # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- #
- import sys
- import pprint
- from urlparse import urlparse
- from thrift.transport import TTransport
- from thrift.transport import TSocket
- from thrift.transport import THttpClient
- from thrift.protocol import TBinaryProtocol
- import ThriftHiveMetastore
- from ttypes import *
- if len(sys.argv) <= 1 or sys.argv[1] == '--help':
- print ''
- print 'Usage: ' + sys.argv[0] + ' [-h host:port] [-u url] [-f[ramed]] function [arg1 [arg2...]]'
- print ''
- print 'Functions:'
- print ' bool create_database(string name, string description)'
- print ' Database get_database(string name)'
- print ' bool drop_database(string name)'
- print ' get_databases()'
- print ' Type get_type(string name)'
- print ' bool create_type(Type type)'
- print ' bool drop_type(string type)'
- print ' get_type_all(string name)'
- print ' get_fields(string db_name, string table_name)'
- print ' get_schema(string db_name, string table_name)'
- print ' void create_table(Table tbl)'
- print ' void drop_table(string dbname, string name, bool deleteData)'
- print ' get_tables(string db_name, string pattern)'
- print ' Table get_table(string dbname, string tbl_name)'
- print ' void alter_table(string dbname, string tbl_name, Table new_tbl)'
- print ' Partition add_partition(Partition new_part)'
- print ' Partition append_partition(string db_name, string tbl_name, part_vals)'
- print ' bool drop_partition(string db_name, string tbl_name, part_vals, bool deleteData)'
- print ' Partition get_partition(string db_name, string tbl_name, part_vals)'
- print ' get_partitions(string db_name, string tbl_name, i16 max_parts)'
- print ' get_partition_names(string db_name, string tbl_name, i16 max_parts)'
- print ' void alter_partition(string db_name, string tbl_name, Partition new_part)'
- print ' string get_config_value(string name, string defaultValue)'
- print ''
- sys.exit(0)
- pp = pprint.PrettyPrinter(indent = 2)
- host = 'localhost'
- port = 9090
- uri = ''
- framed = False
- http = False
- argi = 1
- if sys.argv[argi] == '-h':
- parts = sys.argv[argi+1].split(':')
- host = parts[0]
- port = int(parts[1])
- argi += 2
- if sys.argv[argi] == '-u':
- url = urlparse(sys.argv[argi+1])
- parts = url[1].split(':')
- host = parts[0]
- if len(parts) > 1:
- port = int(parts[1])
- else:
- port = 80
- uri = url[2]
- http = True
- argi += 2
- if sys.argv[argi] == '-f' or sys.argv[argi] == '-framed':
- framed = True
- argi += 1
- cmd = sys.argv[argi]
- args = sys.argv[argi+1:]
- if http:
- transport = THttpClient.THttpClient(host, port, uri)
- else:
- socket = TSocket.TSocket(host, port)
- if framed:
- transport = TTransport.TFramedTransport(socket)
- else:
- transport = TTransport.TBufferedTransport(socket)
- protocol = TBinaryProtocol.TBinaryProtocol(transport)
- client = ThriftHiveMetastore.Client(protocol)
- transport.open()
- if cmd == 'create_database':
- if len(args) != 2:
- print 'create_database requires 2 args'
- sys.exit(1)
- pp.pprint(client.create_database(args[0],args[1],))
- elif cmd == 'get_database':
- if len(args) != 1:
- print 'get_database requires 1 args'
- sys.exit(1)
- pp.pprint(client.get_database(args[0],))
- elif cmd == 'drop_database':
- if len(args) != 1:
- print 'drop_database requires 1 args'
- sys.exit(1)
- pp.pprint(client.drop_database(args[0],))
- elif cmd == 'get_databases':
- if len(args) != 0:
- print 'get_databases requires 0 args'
- sys.exit(1)
- pp.pprint(client.get_databases())
- elif cmd == 'get_type':
- if len(args) != 1:
- print 'get_type requires 1 args'
- sys.exit(1)
- pp.pprint(client.get_type(args[0],))
- elif cmd == 'create_type':
- if len(args) != 1:
- print 'create_type requires 1 args'
- sys.exit(1)
- pp.pprint(client.create_type(eval(args[0]),))
- elif cmd == 'drop_type':
- if len(args) != 1:
- print 'drop_type requires 1 args'
- sys.exit(1)
- pp.pprint(client.drop_type(args[0],))
- elif cmd == 'get_type_all':
- if len(args) != 1:
- print 'get_type_all requires 1 args'
- sys.exit(1)
- pp.pprint(client.get_type_all(args[0],))
- elif cmd == 'get_fields':
- if len(args) != 2:
- print 'get_fields requires 2 args'
- sys.exit(1)
- pp.pprint(client.get_fields(args[0],args[1],))
- elif cmd == 'get_schema':
- if len(args) != 2:
- print 'get_schema requires 2 args'
- sys.exit(1)
- pp.pprint(client.get_schema(args[0],args[1],))
- elif cmd == 'create_table':
- if len(args) != 1:
- print 'create_table requires 1 args'
- sys.exit(1)
- pp.pprint(client.create_table(eval(args[0]),))
- elif cmd == 'drop_table':
- if len(args) != 3:
- print 'drop_table requires 3 args'
- sys.exit(1)
- pp.pprint(client.drop_table(args[0],args[1],eval(args[2]),))
- elif cmd == 'get_tables':
- if len(args) != 2:
- print 'get_tables requires 2 args'
- sys.exit(1)
- pp.pprint(client.get_tables(args[0],args[1],))
- elif cmd == 'get_table':
- if len(args) != 2:
- print 'get_table requires 2 args'
- sys.exit(1)
- pp.pprint(client.get_table(args[0],args[1],))
- elif cmd == 'alter_table':
- if len(args) != 3:
- print 'alter_table requires 3 args'
- sys.exit(1)
- pp.pprint(client.alter_table(args[0],args[1],eval(args[2]),))
- elif cmd == 'add_partition':
- if len(args) != 1:
- print 'add_partition requires 1 args'
- sys.exit(1)
- pp.pprint(client.add_partition(eval(args[0]),))
- elif cmd == 'append_partition':
- if len(args) != 3:
- print 'append_partition requires 3 args'
- sys.exit(1)
- pp.pprint(client.append_partition(args[0],args[1],eval(args[2]),))
- elif cmd == 'drop_partition':
- if len(args) != 4:
- print 'drop_partition requires 4 args'
- sys.exit(1)
- pp.pprint(client.drop_partition(args[0],args[1],eval(args[2]),eval(args[3]),))
- elif cmd == 'get_partition':
- if len(args) != 3:
- print 'get_partition requires 3 args'
- sys.exit(1)
- pp.pprint(client.get_partition(args[0],args[1],eval(args[2]),))
- elif cmd == 'get_partitions':
- if len(args) != 3:
- print 'get_partitions requires 3 args'
- sys.exit(1)
- pp.pprint(client.get_partitions(args[0],args[1],eval(args[2]),))
- elif cmd == 'get_partition_names':
- if len(args) != 3:
- print 'get_partition_names requires 3 args'
- sys.exit(1)
- pp.pprint(client.get_partition_names(args[0],args[1],eval(args[2]),))
- elif cmd == 'alter_partition':
- if len(args) != 3:
- print 'alter_partition requires 3 args'
- sys.exit(1)
- pp.pprint(client.alter_partition(args[0],args[1],eval(args[2]),))
- elif cmd == 'get_config_value':
- if len(args) != 2:
- print 'get_config_value requires 2 args'
- sys.exit(1)
- pp.pprint(client.get_config_value(args[0],args[1],))
- transport.close()
|