蜂巢连接

问题描述:

海我是hadoop和hive的新手。我的应用程序现在无法处理多个连接。当数字连接增加(超过4)时,它会变慢。任何人都可以弄明白。代码如下。蜂巢连接

public static void setupDriver(String connectURI) throws Exception { 

    ObjectPool connectionPool = new GenericObjectPool(null); 
    ConnectionFactory connectionFactory = new DriverManagerConnectionFactory(
      connectURI, username, password); 
    @SuppressWarnings("unused") 
    PoolableConnectionFactory poolableConnectionFactory = new PoolableConnectionFactory(
      connectionFactory, connectionPool, null, null, false, true); 
    Class.forName(poolingDriver); 
    PoolingDriver driver = (PoolingDriver) DriverManager.getDriver(poolConnection); 
    driver.registerPool(poolName, connectionPool); 
} 



stmt = connection.createStatement(); 
String queryString = "select feed_date,count(feed_date) from twitter_stats where tweet like '%" + searchRequest.getWord() + "%' "; 
if (null != searchRequest.getFromDate()) { 
    queryString += "and feed_date >= '" + searchRequest.getFromDate() + "' "; 
} 
+0

你确定麻烦来自那里吗?我不是Hive Expert,但是从我的数据库经验来看,它最有可能是一个查询概念问题,而不是Java问题。你可否请你发表你的要求? – 2012-07-20 15:56:02

+0

stmt = connection.createStatement(); String queryString =“从twitter_stats中选择feed_date,count(feed_date),其中tweet like'%”+ searchRequest.getWord()+“%'”; (null!= searchRequest.getFromDate()){queryString + =“and feed_date> ='”+ searchRequest.getFromDate()+“'”; } – najeeb 2012-07-23 04:03:28

+0

这是好的让雷米 – najeeb 2012-07-23 04:04:43

你真的不应该使用由%开始的LIKE条件。在大多数情况下,这会导致性能问题! 试着压制它,然后告诉我们它是否能解决你的问题。

这里有一些线索:LIKE work-around in SQL (Performance issues),即使不处理这个问题。

+0

感谢让它真的提高了速度。但连接问题依然存在。 – najeeb 2012-07-24 04:26:25

+0

不要犹豫,吨张贴您的错误堆栈。你有没有想过要关闭你的连接? – 2012-07-24 10:30:56

+0

是连接已正确关闭。在java中可以处理多个连接的其他类吗? – najeeb 2012-07-24 11:35:34

处理连接取决于Hive Metastore服务器。它应该安装在强大的服务器上,或者如果您在虚拟机上工作,请尝试增加虚拟机的内存或CPU。 (?) 或者,您可以在CDH 5.3支持的多服务器环境中使用两个Hive Metastore Server服务器实例,并且可以使用两个Hive Metastore Server服务器实例。 x和上面。