java - Getting Exception: "Read a negative frame size (-2147418110)!" While running hive queries multithreading way -
i've integrate hive, hdfs, sqoop functionality java & working fine. executing in sequential manner.
so i'm trying implement multithreading improve performance.
this sample template of workflow.
1) main java class --> calling 1 dao class function:(in method i've write several hive opertation join on table, group etc. inserting matched result antoher tables)
2) in dao class there lots steps(loading data hdfs, filter out records & insert table etc.) figured out steps independent of each other. put steps 4 different threads, step execute in parallel.
3) in 4 threads i'm calling functions of other class, again performaing different hive queries. i'm performaning operation on hive parallely.
so here quesion
1) can execute hive queries in multithreading ways?
2) if yes. parameters need set in hive-site.xml file?.
3) can hive handle concurrent jdbc statements?
this exception i'm getting
java.sql.sqlexception: org.apache.thrift.transport.ttransportexception: read negative frame size (-2147418110)! @ org.apache.hive.jdbc.hivestatement.execute(hivestatement.java:262) @ org.ecl.dao.hadoopdboperationsdao.insertnonutivaluematchtrades_intotpcp(hadoopdboperationsdao.java:133) @ org.ecl.service.dtccservice_multithreading_runnable.callhadoopserviceforloaddata(dtccservice_multithreading_runnable.java:133) @ org.ecl.dtcchiveclient.main(dtcchiveclient.java:26) caused by: org.apache.thrift.transport.ttransportexception: read negative frame size (-2147418110)! @ org.apache.thrift.transport.tsasltransport.readframe(tsasltransport.java:426) @ org.apache.thrift.transport.tsasltransport.read(tsasltransport.java:405) @ org.apache.thrift.transport.tsaslclienttransport.read(tsaslclienttransport.java:37) @ org.apache.thrift.transport.ttransport.readall(ttransport.java:84) @ org.apache.thrift.protocol.tbinaryprotocol.readall(tbinaryprotocol.java:378) @ org.apache.thrift.protocol.tbinaryprotocol.readi32(tbinaryprotocol.java:297) @ org.apache.thrift.protocol.tbinaryprotocol.readmessagebegin(tbinaryprotocol.java:204) @ org.apache.thrift.tserviceclient.receivebase(tserviceclient.java:69) @ org.apache.hive.service.cli.thrift.tcliservice$client.recv_executestatement(tcliservice.java:225) @ org.apache.hive.service.cli.thrift.tcliservice$client.executestatement(tcliservice.java:212) @ org.apache.hive.jdbc.hivestatement.execute(hivestatement.java:253) ... 3 more java.sql.sqlexception: org.apache.thrift.transport.ttransportexception: read negative frame size (-2147418110)! @ org.apache.hive.jdbc.hivestatement.execute(hivestatement.java:262) @ org.ecl.dao.dtccpairinglogicdao.fieldbreak(dtccpairinglogicdao.java:60) @ org.ecl.thread.fieldbreakthread.run(fieldbreakthread.java:41) @ java.lang.thread.run(unknown source) caused by: org.apache.thrift.transport.ttransportexception: read negative frame size (-2147418110)! @ org.apache.thrift.transport.tsasltransport.readframe(tsasltransport.java:426) @ org.apache.thrift.transport.tsasltransport.read(tsasltransport.java:405) @ org.apache.thrift.transport.tsaslclienttransport.read(tsaslclienttransport.java:37) @ org.apache.thrift.transport.ttransport.readall(ttransport.java:84) @ org.apache.thrift.protocol.tbinaryprotocol.readall(tbinaryprotocol.java:378) @ org.apache.thrift.protocol.tbinaryprotocol.readi32(tbinaryprotocol.java:297) @ org.apache.thrift.protocol.tbinaryprotocol.readmessagebegin(tbinaryprotocol.java:204) @ org.apache.thrift.tserviceclient.receivebase(tserviceclient.java:69) @ org.apache.hive.service.cli.thrift.tcliservice$client.recv_executestatement(tcliservice.java:225) @ org.apache.hive.service.cli.thrift.tcliservice$client.executestatement(tcliservice.java:212) @ org.apache.hive.jdbc.hivestatement.execute(hivestatement.java:253) ... 3 more java.sql.sqlexception: org.apache.thrift.tapplicationexception: executestatement failed: out of sequence response @ org.apache.hive.jdbc.hivestatement.execute(hivestatement.java:262) @ org.ecl.dao.hadoopdboperationsdao.recordswithmatchedutivalue(hadoopdboperationsdao.java:149) @ org.ecl.thread.utivaluematchedthread.run(utivaluematchedthread.java:40) @ java.lang.thread.run(unknown source) caused by: org.apache.thrift.tapplicationexception: executestatement failed: out of sequence response @ org.apache.thrift.tserviceclient.receivebase(tserviceclient.java:76) @ org.apache.hive.service.cli.thrift.tcliservice$client.recv_executestatement(tcliservice.java:225) @ org.apache.hive.service.cli.thrift.tcliservice$client.executestatement(tcliservice.java:212) @ org.apache.hive.jdbc.hivestatement.execute(hivestatement.java:253) ... 3 more 0 trade records breaks identified in trade records matching on uti java.sql.sqlexception: org.apache.thrift.transport.ttransportexception: cannot read. remote side has closed. tried read 3072 bytes, got 175 bytes. (this indicative of internal error on server side. please check server logs.) @ org.apache.hive.jdbc.hivestatement.execute(hivestatement.java:262) @ org.apache.hive.jdbc.hivestatement.executequery(hivestatement.java:392) @ org.ecl.dao.dtccoperationdao.countrows(dtccoperationdao.java:45) @ org.ecl.thread.fieldbreakthread.run(fieldbreakthread.java:42) @ java.lang.thread.run(unknown source) caused by: org.apache.thrift.transport.ttransportexception: cannot read. remote side has closed. tried read 3072 bytes, got 175 bytes. (this indicative of internal error on server side. please check server logs.) @ org.apache.thrift.transport.ttransport.readall(ttransport.java:86) @ org.apache.thrift.protocol.tbinaryprotocol.readstringbody(tbinaryprotocol.java:354) @ org.apache.thrift.protocol.tbinaryprotocol.readmessagebegin(tbinaryprotocol.java:215) @ org.apache.thrift.tserviceclient.receivebase(tserviceclient.java:69) @ org.apache.hive.service.cli.thrift.tcliservice$client.recv_executestatement(tcliservice.java:225) @ org.apache.hive.service.cli.thrift.tcliservice$client.executestatement(tcliservice.java:212) @ org.apache.hive.jdbc.hivestatement.execute(hivestatement.java:253) ... 4 more }
so me resolve this.
Comments
Post a Comment