Impala ODBC / JDBC性能不佳-与NN相比,从远程服务器获取行的速度非常慢

穆罕默德·阿查尔基(Mohammed Acharki)

在CDH的NameNode中,当我通过odbc脚本(php / perl或python)运行查询时,可以在大约30秒内在一个变量中获取所有结果(9.2M,但是当我在另一个脚本上使用相同的脚本/查询时远程2台服务器,执行时间分别在第一台服务器和第二台服务器中分别为28分钟17分钟

为了排除假设是网络速度问题,我将结果提取到文件中,然后使用scp命令将其复制到第一台远程服务器,并在大约40秒内完成

我在CM的查询信息中观察到的是,在以下三个查询中线程:网络发送等待时间之间存在很大差异
在NN查询中:第一个远程服务器中的9.40s
第2个远程服务器中的16.7m
26.8m

而且我也尝试了使用Impala JDBC的Java脚本,但是NN中​​的结果已经不能刺激继续了。

但是到目前为止,我仍然找不到问题所在以及如何解决。
注意:我正在CDH 5.12.0 / Impala 2.9.0上工作,我安装了Impala ODBC 2.5.37.1014。

穆罕默德·阿查尔基(Mohammed Acharki)

最后,将近六个月之后,我找到了解决方案!

它总是关于我的1024个限制说明,行批次限制来自BATCH_SIZE最大值(1024),在最后一个版本(CDH 5.14 / Impala 2.11)中,我们有一个新的有效范围是1-65536。

1-1024:https: //www.cloudera.com/documentation/enterprise/5-12-x/topics/impala_batch_size.html 1-65536:https//www.cloudera.com/documentation/enterprise/5-14 -x / topics / impala_batch_size.html

因此,当我通过使用SSP_BATCH_SIZE的odbc.ini增加它时,可以从增加其他odbc参数(RowsFetchedPerBlock / TSaslTransportBufSize)中获益,并且可以在几秒钟(〜45秒)内提取行,而无需花费数十分钟。

链接:http//community.cloudera.com/t5/Interactive-Short-cycle-SQL/Impala-ODBC-JDBC-bad-performance-rows-fetch-is-very-slow-from-a/mp/61152

感谢大家的答复。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章