0

这是我的java代码

     SparkConf sparkConf = new SparkConf().setAppName("Hive");
     JavaSparkContext ctx = new JavaSparkContext(sparkConf);
     HiveContext sqlContext = new HiveContext(ctx.sc());

     Row[] results = sqlContext.sql("Select * from tablename").collect();
     for (int i = 0; i < results.length; i++) {
       System.out.println(results[i]);
       }

运行时间比我预期的要长,我注意到这是由于为每个查询创建对象。所以我决定使用 Apache 公用池,但我陷入了困境。谁能帮我为 HiveContext 类型的对象创建一个池。但到目前为止我已经尝试过了

 private org.apache.commons.pool.ObjectPool<HiveContext> pool;

    public HivePool(org.apache.commons.pool.ObjectPool<HiveContext> pool) {
        this.pool = pool;
    }
4

1 回答 1

0

您是否使用 GenericObjectPool 来实例化您的 HivePool。
试试这个例子
https://commons.apache.org/proper/commons-pool/examples.html

于 2015-07-09T05:46:04.607 回答