java - Hive jdbc 设置内存参数
问题描述
Hive 有一些参数决定它在 map/reduce 中使用多少内存:
set mapreduce.reduce.memory.mb = 10096 ;
set mapreduce.map.memory.mb = 10096 ;
所以通常当我使用 hive shell 进行大查询时,我会运行类似
hive -e "set mapreduce.reduce.memory.mb = 10096 ; set mapreduce.map.memory.mb = 10096 ; select * from table"
但是当我将 jdbc 与来自 java 的 hive 一起使用时,我似乎无法找到一种方法来增加大型查询的内存。我运行这样的东西:
String driverName = "org.apache.hive.jdbc.HiveDriver";
con = DriverManager.getConnection("jdbc:hive2://machines/hiveDB");
PreparedStatement ps = con.prepareStatement(sqlQuery);
ResultSet rs = ps.executeQuery();
但是 JDBC 阻止在一个查询中运行多个查询,所以我不能做我在 hive shell 中所做的事情,而且我没有看到另一种方法来做到这一点,所以现在我不能运行太大的查询。有人有什么想法吗?我考虑过运行多个语句,但不能保证它们会在同一台机器上运行。
TL;DR 想在 java jdbc 中设置 hive 参数,使用 hivedriver 进行大型查询,但无法找到方法。
解决方案
推荐阅读
- python - 根据随机变量的值将值分配给 DataFrame 列
- google-sheets - 简单现金簿中总计的数组公式
- vue.js - 带有 baseurl 和公共路径的 Nginx 和 Vuejs 3 配置
- python - 如何将列表序列化回其原始二进制数据库?
- r - R错误地将日期作为第一个字段的.csv数据导入
- python - Anaconda Navigator 打不开,conda 也打不开
- javascript - 如何设置多个元素的文本内容
- javascript - 如何结合 3 个更改事件来隐藏 div
- swift - 更改导航按钮 SwiftUI 的颜色
- ruby-on-rails - Ubuntu puma-manager.conf 自定义服务 Job 启动失败