问题标签 [impyla]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 使用 impyla 在 impala 中计算统计信息
我正在尝试使用 python impyla 模块计算 impala(hive) 中的统计信息。
使用的命令:compute stats db.tablename;
但我得到低于错误。 无法识别“计算”“统计”附近的输入
如何解决这个问题?
python-3.8 - impyla:如何设置 mem_limit?
我在 python 3.8.3 上使用 impyla==0.16.2
试图执行set mem_limit=1G
并且在运行查询后它仍然给出 mem_limit 的错误。
这应该得到解决,因为如果我在 Dbeaver 上遵循相同的步骤,它会按预期工作。
不知道为什么它不能在 impyla 中工作。
有人可以指导我吗?
hive - `impyla` 连接到 Dataproc 上的 Hive:impala.error.HiveServer2Error: Invalid OperationHandle: OperationHandle
我impyla
用来连接到 Dataproc 中的 Hive。连接是这样创建的
此连接不需要用户名和密码。我能够间歇性地成功使用pyhive
和pyodbc
连接和执行查询。使用impyla
,可以连接并走一些步骤,但建立连接后总是失败。下面的日志显示了详细信息。
这总是失败,因此比pyhive
andpyodbc
情况更可预测。我希望这是一些可以修复的配置问题,之后它可能会让我pyhive
比pyodbc
.
任何指针?谢谢!
python - Impyla - 找不到领域的 KDC
我正在尝试使用 Impyla 连接到远程服务器(Server1)上的 impala。我可以使用以下命令从本地连接和查询 Server1:
但是,当我在尝试连接到 Server1 的 Server2 上尝试相同的行时,出现以下错误
为什么这发生在 Server2 上而不是我的本地?不应该都是相对于 Server1 的吗?
python - Impyla - 用户没有执行“SELECT”的权限
我正在尝试使用 Python (Impyla) 连接到 impala。我能够连接,但是,我总是收到一条错误消息,指出用户无法执行查询(即User 'ABC' does not have privileges to execute 'SELECT'
。错误中显示的用户是运行脚本的用户(例如'ABC'
,即使我在和connect
语句cursor
:
有没有办法让它使用 userDEF
而不是 user ABC
?我已经确认通过在“hiveserver2.py”文件中添加一些语句user
来设置。DEF
print
python - impyla - TSocket 读取 0 个字节
我可以使用如下命令很好地连接到 impala:
conn = connect(host=MYHOST, port=21050, auth_mechanism='GSSAPI', use_ssl=True)
但是,发生了两件事:我们有一个新服务器,因此有一个新的 impala 主机字符串,我们刚刚从 CDH 5 升级到 CDH 6。当我尝试替换MYHOST
为 时MYNEWHOST
,我收到TSocket read 0 bytes
错误消息。我不确定这是因为新服务器还是 Cloudera 升级。
此外,我能够无缝切换MYHOST
到MYNEWHOST
本地,而无需更改任何包版本。我需要的所有主要包impyla
都在本地版本比服务器上的版本略低。
这个错误到底是什么意思,可能是因为 Cloudera 升级?
python - thriftpy2 - TSocket 读取 0 个字节
我正在使用impyla
从服务器 2 连接到服务器 1 上的 impala。我能够成功连接如下线路:
conn = connect(host=IMPALAD_SERVER1, port=21050, auth_mechanism='GSSAPI', use_ssl=True)
但是,最近我们从服务器 1 移动到服务器 1A,所以我将连接线更改为
conn = connect(host=IMPALAD_SERVER1A, port=21050, auth_mechanism='GSSAPI', use_ssl=True)
然而,这给出了 thriftpy2 的错误:thriftpy2.transport.base.TTransportException: TTransportException(type=4, message='TSocket read 0 bytes')
问题是,我只需更改 impalad 就可以从本地无缝连接到服务器 1A,没有别的。我注意到/etc/hbase/conf/hbase-site.xml
服务器 1A 中的文件是空白的,而它填充在服务器 1 中。这可能是节俭问题的原因吗?
python-3.x - Impyla 以字节格式返回值
我正在尝试从 Impyla 接收 JH 中的数据,除了一个 DB 中的表以 b'' 格式返回数据外,一切正常。
代码:
示例输出:
它只发生在 1 个数据库上,我测试过的其他数据库和表在 utf-8 中都可以(在 4 个数据库上测试)。+ 并非每一列都在 b'' 中。
套餐:
但是,如果我不是从 JH 而是直接从服务器运行相同的查询,则输出是正确的编码 - 没有字节。
服务器上的软件包:
有什么线索吗?:) 谢谢。
编辑:07. 06. 格式以字节为单位,因为列是 varchar。字符串列格式 = utf-8 编码字符串。但是 varchars 和 chars 是字节格式的。正如我所描述的行为服务器/JH(不同版本),他们似乎通过版本升级对其进行了更改。所以我会通过降级版本来解决这个问题,但是在尝试选择大量行时,较低版本会返回“无效的查询句柄”:(
我添加了这个链接,它描述了问题、解决方法和未来的进展:https ://github.com/cloudera/impyla/issues/455
python - Impyla - 在不同服务器上获取相同代码的 SASL 错误
我们有一个使用 impyla 的脚本,可以从另一个服务器查询一个服务器。它工作正常,没有问题。然后,我们将 Anaconda 环境复制到具有与原始配置完全相同的配置的另一台服务器,并再次尝试相同的脚本并不断收到此错误:
thriftpy2.transport.TTransportException: TTransportException(type=1, message="Could not start SASL: b'Error in sasl_client_start (-4) SASL(-4): no mechanism available: No worthy mechs found'")
为什么它不能在不同的服务器上工作?一切似乎都是相同的,例如krb5.conf
,所有包版本,python 版本等。
python - Python Impyla - 将数据从 Impala 拉到 DataFrame 中
我试图使用 Impyla 从 Impala 中提取数据。将数据放在 DataFrame 中会很好。下面是一个应该拉几千行的示例查询,但是,当我运行它时,我会返回一个空的 DataFrame ...处理更多数据?