gpt4 book ai didi

java - 如何使用 JDBC 驱动程序 0.13.0 在 Hive 中设置 FetchSize

转载 作者:可可西里 更新时间:2023-11-01 16:10:35 26 4
gpt4 key购买 nike

我正在针对返回 100.000 行的 Hive/Hadoop 运行查询,并且我想启用 setFetchSize,一次没有那么多行,为此我正在使用 Hive JDBC 驱动程序。

关键是相同的查询也针对 postgres 运行,或者实际上可能在其他关系数据库中运行,因此使用此大小功能来控制它是有意义的。

问题是,当我调用方法 setFetchSize 时,我不断收到以下内容

java.sql.SQLException: 方法不受支持 在 org.apache.hadoop.hive.jdbc.HivePreparedStatement.setFetchSize(HivePreparedStatement.java:1229) ~[hive-jdbc-0.13.0.jar:0.13.0]

不支持此方法,我该如何解决这个问题并实现相同的目标?

最佳答案

您是否尝试在结果集级别进行设置,我们目前也在使用 0.13.0 并且调用 rs.setFetchSize(5000); 对我们来说非常完美。 Spring JdbcTemplate 代码片段是这样的:

hiveJdbcTemplate.query(sqlToExecute, rs -> {
rs.setFetchSize(5000);
while (rs.next()){
....do you handling
}
});

希望这对您有用。默认的 fetchSize 仅为 50,如果您需要获取数百万行,这就太小了。从 Hive 1.3.0 开始,通过将默认值从 50 增加到 1000 解决了这个问题。Apache Hive Jira 票证是:HIVE-11429。

关于java - 如何使用 JDBC 驱动程序 0.13.0 在 Hive 中设置 FetchSize,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32398054/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com