Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import sys
- sys.path.insert(0,'./TCLIService')
- sys.path.insert(0,'./cloudera')
- import TCLIService
- import ttypes
- from thrift import Thrift
- from thrift.transport import TSocket
- from thrift.transport import TTransport
- from thrift.protocol import TBinaryProtocol
- import sasl
- import thrift_sasl
- host = 'localhost'
- port = 10200
- username = 'saslusername'
- password = 'saslusername'
- configuration = {}
- sasl_mech = 'PLAIN'
- saslc = sasl.Client()
- saslc.setAttr("username", username)
- saslc.setAttr("password", password)
- saslc.init()
- socket = TSocket.TSocket(host, port)
- transport = thrift_sasl.TSaslClientTransport(saslc, sasl_mech, socket)
- protocol = TBinaryProtocol.TBinaryProtocol(transport)
- client = TCLIService.Client(protocol)
- transport.open()
- #ttypes.TOpenSessionReq(username=user, password=password, configuration=configuration)
- print "OpenSession"
- res=client.OpenSession(ttypes.TOpenSessionReq(username=username, password=password, configuration=configuration))
- session = res.sessionHandle
- print res
- print "ExecuteStatement"
- res = client.ExecuteStatement(ttypes.TExecuteStatementReq(session, statement='select * from table limit 100', confOverlay={}))
- operationHandle = res.operationHandle
- print res
- print "TGetOperationStatusReq"
- res = client.GetOperationStatus(ttypes.TGetOperationStatusReq(operationHandle=operationHandle))
- print res
- print "TFetchResultsReq"
- res = client.FetchResults(ttypes.TFetchResultsReq(operationHandle=operationHandle, orientation=0, maxRows=100000))
- print res
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement