2016-12-30 34 views
1

在單個語句中運行多個蜂巢查詢我運行此查詢:錯誤使用Java

Set hive.limit.query.max.table.partition=9000;select distinct ps169 as hotel_code,pd5 as city_code,datediff(to_date(pd32),to_date(FROM_UNIXTIME(UNIX_TIMESTAMP()))) as ap1,ps180 as los from camustest.a_1229 r join ht.ttl_values ttl on r.ps169=ttl.hotel_code and datediff(to_date(pd32),to_date(FROM_UNIXTIME(UNIX_TIMESTAMP())))=ttl.ap and year= 2016 and month=12 and day=30 where pd5 IS NOT NULL and trim(ttl.hotel_code)!='' and trim(ttl.hotel_code)!='null' and ttl.hotel_code IS NOT NULL and trim(ttl.city_code)!= '' and ttl.ttl > 0 and ttl.ttl <= 4 and hour >= 8 and hour <= 12 and date = '2016-06-01--2016-06-15' and ap<=90 and ps180<=7 

我能夠在蜂巢控制檯運行它。但是,從Java代碼運行時,出現此錯誤:

[2016-12-30 12:39:24,409] ERROR tomcat-pool-1 com.mmt.rateRefresh.hive.HiveManager - error[Cloudera]JDBC A ResultSet was expected but not generated from query

[2016-12-30 12:39:24,409] ERROR tomcat-pool-1 com.mmt.rateRefresh.hive.HiveManager - error in query

+0

你可以把Java執行的代碼呢? –

回答

1

在一個execute語句中不能運行兩個查詢。

的唯一方法:運行它們作爲單獨的查詢。

要設置「設置hive.limit.query.max.table.partition = 9000」將出現在會議上。(Java API的照顧)

注意使用相同的連接,同時執行的財產該聲明。