本文汇总了使用Impala时的常见问题。
- Impala 3.4使用JDBC查询Impala 10秒提示会话超时,该怎么办?
- Impala无法找到Hive新增的表,该怎么办?
- Impala写入Hive表数据的时候,是否可以修改写入文件的owner?
- 如何调整Impalad可使用的节点内存总量?
- 如何限制单条查询语句消耗内存的大小?
- 如何提升非JOIN语句的查询效率?
Impala 3.4使用JDBC查询Impala 10秒提示会话超时,该怎么办?
您可以在Impala控制台通过命令设置FETCH_ROWS_TIMEOUT_MS参数为0,指定会话永不过期。命令示例如下所示。
jdbc:impala://impala-hive.ymt.io:21050/ymtcube;FETCH_ROWS_TIMEOUT_MS=0
Impala无法找到Hive新增的表,该怎么办?
在Impala之外操作元数据后,您可以在Impala控制台通过使用命令INVALIDATE METADATA,以刷新全库或者某个表的元数据。
Impala写入Hive表数据的时候,是否可以修改写入文件的owner?
使用Impala写入的表文件的owner默认为Impala,暂不支持修改。
如何调整Impalad可使用的节点内存总量?
您可以在EMR控制台Impala服务的配置页签,在搜索区域搜索mem_limit参数,默认值为80%,表示允许使用本机内存的80%来计算。您也可以配置为具体的内存大小,例如10G
。
如何限制单条查询语句消耗内存的大小?
可以使用SQL语句set MEM_LIMIT=Xg
限制,在该语句Session范围内生效。
如何提升非JOIN语句的查询效率?
对于单条没有JOIN的查询语句,您可以在Impala控制台通过命令设置mt_dop参数为n以提升并发度,其中n为每台机器的并发度。