ThriftHadoopFileSystem-remote
上传用户:quxuerui
上传日期:2018-01-08
资源大小:41811k
文件大小:5k
- #!/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 ThriftHadoopFileSystem
- 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 ' void setInactivityTimeoutPeriod(i64 periodInSeconds)'
- print ' void shutdown(i32 status)'
- print ' ThriftHandle create(Pathname path)'
- print ' ThriftHandle createFile(Pathname path, i16 mode, bool overwrite, i32 bufferSize, i16 block_replication, i64 blocksize)'
- print ' ThriftHandle open(Pathname path)'
- print ' ThriftHandle append(Pathname path)'
- print ' bool write(ThriftHandle handle, string data)'
- print ' string read(ThriftHandle handle, i64 offset, i32 size)'
- print ' bool close(ThriftHandle out)'
- print ' bool rm(Pathname path, bool recursive)'
- print ' bool rename(Pathname path, Pathname dest)'
- print ' bool mkdirs(Pathname path)'
- print ' bool exists(Pathname path)'
- print ' FileStatus stat(Pathname path)'
- print ' listStatus(Pathname path)'
- print ' void chmod(Pathname path, i16 mode)'
- print ' void chown(Pathname path, string owner, string group)'
- print ' void setReplication(Pathname path, i16 replication)'
- print ' getFileBlockLocations(Pathname path, i64 start, i64 length)'
- 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 = ThriftHadoopFileSystem.Client(protocol)
- transport.open()
- if cmd == 'setInactivityTimeoutPeriod':
- if len(args) != 1:
- print 'setInactivityTimeoutPeriod requires 1 args'
- sys.exit(1)
- pp.pprint(client.setInactivityTimeoutPeriod(eval(args[0]),))
- elif cmd == 'shutdown':
- if len(args) != 1:
- print 'shutdown requires 1 args'
- sys.exit(1)
- pp.pprint(client.shutdown(eval(args[0]),))
- elif cmd == 'create':
- if len(args) != 1:
- print 'create requires 1 args'
- sys.exit(1)
- pp.pprint(client.create(eval(args[0]),))
- elif cmd == 'createFile':
- if len(args) != 6:
- print 'createFile requires 6 args'
- sys.exit(1)
- pp.pprint(client.createFile(eval(args[0]),eval(args[1]),eval(args[2]),eval(args[3]),eval(args[4]),eval(args[5]),))
- elif cmd == 'open':
- if len(args) != 1:
- print 'open requires 1 args'
- sys.exit(1)
- pp.pprint(client.open(eval(args[0]),))
- elif cmd == 'append':
- if len(args) != 1:
- print 'append requires 1 args'
- sys.exit(1)
- pp.pprint(client.append(eval(args[0]),))
- elif cmd == 'write':
- if len(args) != 2:
- print 'write requires 2 args'
- sys.exit(1)
- pp.pprint(client.write(eval(args[0]),args[1],))
- elif cmd == 'read':
- if len(args) != 3:
- print 'read requires 3 args'
- sys.exit(1)
- pp.pprint(client.read(eval(args[0]),eval(args[1]),eval(args[2]),))
- elif cmd == 'close':
- if len(args) != 1:
- print 'close requires 1 args'
- sys.exit(1)
- pp.pprint(client.close(eval(args[0]),))
- elif cmd == 'rm':
- if len(args) != 2:
- print 'rm requires 2 args'
- sys.exit(1)
- pp.pprint(client.rm(eval(args[0]),eval(args[1]),))
- elif cmd == 'rename':
- if len(args) != 2:
- print 'rename requires 2 args'
- sys.exit(1)
- pp.pprint(client.rename(eval(args[0]),eval(args[1]),))
- elif cmd == 'mkdirs':
- if len(args) != 1:
- print 'mkdirs requires 1 args'
- sys.exit(1)
- pp.pprint(client.mkdirs(eval(args[0]),))
- elif cmd == 'exists':
- if len(args) != 1:
- print 'exists requires 1 args'
- sys.exit(1)
- pp.pprint(client.exists(eval(args[0]),))
- elif cmd == 'stat':
- if len(args) != 1:
- print 'stat requires 1 args'
- sys.exit(1)
- pp.pprint(client.stat(eval(args[0]),))
- elif cmd == 'listStatus':
- if len(args) != 1:
- print 'listStatus requires 1 args'
- sys.exit(1)
- pp.pprint(client.listStatus(eval(args[0]),))
- elif cmd == 'chmod':
- if len(args) != 2:
- print 'chmod requires 2 args'
- sys.exit(1)
- pp.pprint(client.chmod(eval(args[0]),eval(args[1]),))
- elif cmd == 'chown':
- if len(args) != 3:
- print 'chown requires 3 args'
- sys.exit(1)
- pp.pprint(client.chown(eval(args[0]),args[1],args[2],))
- elif cmd == 'setReplication':
- if len(args) != 2:
- print 'setReplication requires 2 args'
- sys.exit(1)
- pp.pprint(client.setReplication(eval(args[0]),eval(args[1]),))
- elif cmd == 'getFileBlockLocations':
- if len(args) != 3:
- print 'getFileBlockLocations requires 3 args'
- sys.exit(1)
- pp.pprint(client.getFileBlockLocations(eval(args[0]),eval(args[1]),eval(args[2]),))
- transport.close()