Performance 提高hivejdbc的性能

Performance 提高hivejdbc的性能,performance,hadoop,jdbc,hive,hortonworks-data-platform,Performance,Hadoop,Jdbc,Hive,Hortonworks Data Platform,aynyone知道如何提高HIVE JDBC连接的性能吗 详细问题: 当我从配置单元CLI查询配置单元时,我会在7秒内得到响应,但从配置单元JDBC连接中,我会在14秒内得到响应。我想知道是否有任何方法(配置更改)可以通过JDBC连接提高查询性能 提前谢谢。请尝试以下选项 如果您的查询具有联接,请尝试将配置单元.auto.convert.join设置为true 尝试更改Java堆大小和垃圾收集引用的配置 使用set-hive.execution.engine=Tez将执行引擎更改为Tez 要

aynyone知道如何提高HIVE JDBC连接的性能吗

详细问题:

当我从配置单元CLI查询配置单元时,我会在7秒内得到响应,但从配置单元JDBC连接中,我会在14秒内得到响应。我想知道是否有任何方法(配置更改)可以通过JDBC连接提高查询性能


提前谢谢。

请尝试以下选项

  • 如果您的查询具有联接,请尝试将配置单元.auto.convert.join设置为true

  • 尝试更改Java堆大小和垃圾收集引用的配置

  • 使用set-hive.execution.engine=Tez将执行引擎更改为Tez 要检查当前设置的引擎,请使用配置单元.execution.engine

  • 可以在中找到其他配置单元性能配置提示


    请告诉我结果。

    以提高jdbc连接的性能 使用标准jdbc性能改进功能,连接池、准备语句池(从jdbc 3.0开始)可以通过更改这些配置参数来提高hive cli的性能

    -- enable cost based optimizer
    set hive.cbo.enable=true;
    set hive.compute.query.using.stats=true;
    set hive.stats.fetch.column.stats=true;
    set hive.stats.fetch.partition.stats=true;
    
    --collects statistics
    analyze table <TABLENAME> compute statistics for columns;
    
    --enable vectorization of queries.
    set hive.vectorized.execution.enabled = true;
    set hive.vectorized.execution.reduce.enabled = true;
    
    ——启用基于成本的优化器
    设置hive.cbo.enable=true;
    设置hive.compute.query.using.stats=true;
    设置hive.stats.fetch.column.stats=true;
    设置hive.stats.fetch.partition.stats=true;
    --收集统计数据
    分析表并计算列的统计信息;
    --启用查询的矢量化。
    设置hive.vectorized.execution.enabled=true;
    设置hive.vectoried.execution.reduce.enabled=true;
    

    希望thos有助于

    如果数据库是Oracle,您可以尝试也可以从配置单元QL使用的数据库。OTA4将优化JDBC查询,以使用拆分器从Oracle检索数据,以获得最佳性能。您可以在配置单元查询中直接将配置单元表与Oracle内部的外部表连接起来。

    使用连接池帮助我提高了配置单元JDBC的性能。 正如在配置单元中一样,在查询时会发生许多转换,因此使用连接池中的现有连接对象而不是打开新连接并关闭每个请求非常有用


    请让我知道,如果遇到相同问题,其他人是否会发布详细答案。

    获取版本、当前配置(如果有)等其他信息将非常有用。感谢您的回答,但我已经在使用Hive CLI时应用了这些配置。我关心的是通过配置单元JDBC加快配置单元查询的速度。请参阅上面我对ans的评论:)您是否可以为您的答案添加更多详细信息,例如,您是否做了任何配置或代码更改。@techprat我有一个带有连接和分组的大型配置单元查询,运行它需要一个小时,无论如何,使用配置单元可以提高性能jdbc@Ankita:这是否像从Hive CLI通过jdbc进行的查询更快、更慢?是的,如果结果集很大,jdbc肯定比Hive CLISet fetchsize参数增加几分钟的时间。默认的fetchSize=1000。对于我的一个查询,我将fetchSize设置为1000000,并看到了可观的性能提升。