【问题标题】:Improving performance of hive jdbc提高 hive jdbc 的性能
【发布时间】:2017-06-19 11:44:10
【问题描述】:

有谁知道如何提高 HIVE JDBC 连接的性能。

详细问题:

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

提前致谢。

【问题讨论】:

  • 获取版本、当前配置(如果有)等附加信息会非常有帮助。

标签: performance hadoop jdbc hive hortonworks-data-platform


【解决方案1】:

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

如果遇到同样问题的其他人会发布详细答案,请告诉我。

【讨论】:

  • 您能否在答案中添加更多详细信息,例如,您是否进行了任何配置或代码更改。
  • @techprat 我有一个带有连接和分组的大型 hive 查询,运行它需要一个小时,无论如何使用 hive jdbc 来提高性能
  • @Ankita:是否像 Hive CLI 中的查询通过 jdbc 更快更慢?
  • 是的,jdbc 肯定比 hive CLI 多花几分钟时间
  • 如果结果集很大,请将 fetchsize 参数设置为更大的数字。默认 fetchSize=1000。对于我的一个查询,我设置了 fetchSize=1000000 并看到了可观的性能提升。
【解决方案2】:

请您尝试以下选项。

  1. 如果您的查询有连接,请尝试将 hive.auto.convert.join 设置为 true

  2. 尝试更改Java Heap Size and Garbage Collection的配置参考Link

  3. 使用 set hive.execution.engine=tez 将执行引擎更改为 Tez 要检查当前设置的引擎,请使用 hive.execution.engine

其他 Hive 性能配置技巧可以在Link中找到

请告诉我结果。

【讨论】:

  • 感谢您的回答,但我已经在使用 Hive CLI 时应用了这些配置。我关心的是通过 Hive JDBC 加速 Hive 查询。
【解决方案3】:

如果您的数据库是 Oracle,您可以尝试 Oracle Table Access for Hadoop and Spark (OTA4H),它也可以在 Hive QL 中使用。 OTA4H 将优化 JDBC 查询以使用拆分器从 Oracle 检索数据,以获得最佳性能。您可以直接在 Hive 查询中将 Hive 表与 Oracle 内部的外部表连接起来。

【讨论】:

    【解决方案4】:

    提高jdbc连接的性能 使用标准的jdbc性能提升特性——连接池、prepared statement pooling(从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;
    

    希望对你有帮助

    【讨论】:

    • 查看我对上面的评论:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-12
    • 1970-01-01
    • 2016-01-28
    • 1970-01-01
    • 1970-01-01
    • 2020-07-17
    相关资源
    最近更新 更多