问题标签 [pyhive]
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 - 编译语句时出错:FAILED: ParseException line 1:84 missing EOF at
使用 Cloudera Data Science Workbench,python 2 会话我正在调用 .sql 文件:
查询在 HUE 中执行良好,但是当我从 pyhive 调用它们时出现以下错误
我的猜测是我必须在使用 pyhive 时执行两个单独的语句,有没有办法在执行一个游标时组合 sql 语句?
这是来自python的光标部分,如果我单独运行它们,它可以很好地调用每个语句“删除或创建语句”:
hadoop - 如何在 Hive 表中获取最近创建的分区?
我有一个名为 EMPLOYEE 的表,其中包含 ID、NAME、DESIGNATION、CITY、COUNTRY、CONTINENT 列。在 CONTINENT、COUNTRY、CITY 上具有 3 级分区。现在我需要知道最近创建的分区在特定时间戳之后说。注意:假设未提供对 mysql Metastore 的访问。
python - 错误无法使用 pyhive 连接到 Hive 数据库
这是用于连接到我们的 hive 数据库的代码,它在一周前运行良好,但现在似乎甚至无法打开会话并获取游标来执行查询。当我明确添加 cursor.close() 方法时,该问题已暂时解决,但现在又回来了。我无法使用 python 访问 hive 数据库
我尝试使用 pyhs2 和 pyhive 两个库都无法连接到 hive 数据库。到目前为止,集群上没有任何变化。这可能是什么原因?
我知道 Hive 不是关系数据库,所以游标的概念没有意义,但是 Hive 数据库有什么方法可以记住使用 pyhive 库创建的游标吗?如果是这样,我怎样才能删除当前未使用的游标?
这是执行时引发的代码和异常
raise OperationalError(response) pyhive.exc.OperationalError: TOpenSessionResp(status=TStatus(statusCode=3, infoMessages=['*org.apache.hive.service.cli.HiveSQLException: 无法打开新会话: java.lang.RuntimeException: java.lang.RuntimeException: 无法实例化 org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient:13:12', 'org.apache.hive.service.cli.session.SessionManager:openSession:SessionManager.java:289 ', 'org.apache.hive.service.cli.CLIService:openSession:CLIService.java:199', 'org.apache.hive.service.cli.thrift.ThriftCLIService:getSessionHandle:ThriftCLIService.java:427', 'org .apache.hive.service.cli.thrift.ThriftCLIService:OpenSession:ThriftCLIService.java:319', 'org.apache.hive.service.cli.thrift.TCLIService$Processor$OpenSession:getResult:TCLIService.java:1257','org.apache.hive.service.cli.thrift.TCLIService$Processor$OpenSession:getResult:TCLIService.java:1242', 'org.apache.thrift.ProcessFunction:process:ProcessFunction.java:39', 'org.apache .thrift.TBaseProcessor:process:TBaseProcessor.java:39', 'org.apache.hadoop.hive.thrift.HadoopThriftAuthBridge$Server$TUGIAssumingProcessor:process:HadoopThriftAuthBridge.java:562', 'org.apache.thrift.server.TThreadPoolServer $WorkerProcess:run:TThreadPoolServer.java:286', 'java.util.concurrent.ThreadPoolExecutor:runWorker:ThreadPoolExecutor.java:1149', 'java.util.concurrent.ThreadPoolExecutor$Worker:run:ThreadPoolExecutor.java:624', 'java.lang.Thread:run:Thread.java:748', '*java.lang.RuntimeException:java.lang.RuntimeException: 无法实例化 org.apache.hadoop.hive.ql.metadata。SessionHiveMetaStoreClient:15:2', 'org.apache.hadoop.hive.ql.session.SessionState:start:SessionState.java:547', 'org.apache.hive.service.cli.session.HiveSessionImpl:open:HiveSessionImpl. java:144', 'org.apache.hive.service.cli.session.SessionManager:openSession:SessionManager.java:281', '*java.lang.RuntimeException: 无法实例化 org.apache.hadoop.hive.ql。 metadata.SessionHiveMetaStoreClient:21:6', 'org.apache.hadoop.hive.metastore.MetaStoreUtils:newInstance:MetaStoreUtils.java:1566', 'org.apache.hadoop.hive.metastore.RetryingMetaStoreClient::RetryingMetaStoreClient.java:92 ', 'org.apache.hadoop.hive.metastore.RetryingMetaStoreClient:getProxy:RetryingMetaStoreClient.java:138', 'org.apache.hadoop.hive.metastore.RetryingMetaStoreClient:getProxy:RetryingMetaStoreClient.java:110','org.apache.hadoop.hive.ql.metadata.Hive:createMetaStoreClient:Hive.java:3510', 'org.apache.hadoop.hive.ql.metadata.Hive:getMSC:Hive.java:3542', 'org .apache.hadoop.hive.ql.session.SessionState:start:SessionState.java:528'、'*java.lang.reflect.InvocationTargetException:null:25:4'、'sun.reflect.NativeConstructorAccessorImpl:newInstance0:NativeConstructorAccessorImpl。 java:-2'、'sun.reflect.NativeConstructorAccessorImpl:newInstance:NativeConstructorAccessorImpl.java:62'、'sun.reflect.DelegatingConstructorAccessorImpl:newInstance:DelegatingConstructorAccessorImpl.java:45'、'java.lang.reflect.Constructor:newInstance:Constructor .java:423', 'org.apache.hadoop.hive.metastore.MetaStoreUtils:newInstance:MetaStoreUtils.java:1564', '*org.apache.hadoop.hive.metastore.api.MetaException:GC 开销限制超出:30:4'、'org.apache.hadoop.hive.metastore.RetryingHMSHandler::RetryingHMSHandler.java:82'、'org.apache.hadoop.hive.metastore.RetryingHMSHandler:getProxy:RetryingHMSHandler.java: 91', 'org.apache.hadoop.hive.metastore.HiveMetaStore:newRetryingHMSHandler:HiveMetaStore.java:6463', 'org.apache.hadoop.hive.metastore.HiveMetaStoreClient::HiveMetaStoreClient.java:206', 'org.apache .hadoop.hive.ql.metadata.SessionHiveMetaStoreClient::SessionHiveMetaStoreClient.java:76', '*java.lang.OutOfMemoryError:GC 开销限制超出:0:-1'], sqlState=None, errorCode=0, errorMessage='无法打开新会话:java.lang.RuntimeException:java.lang.RuntimeException:无法实例化 org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient'),serverProtocolVersion=7,sessionHandle=无,配置=无)
python - 如何配置 hive.Connection() 以通过 Hive 我想要的设置?
我在 Ubuntu 17.10 上运行 Spyder 3.2.8。我想通过远程集群上的 Hive 使用该set hive.cli.print.header=true;
命令为列名命名。
这是我到目前为止所做的:
设置配置的正确方法是什么,我什至找不到一个工作示例。
hadoop - 将文件中的值插入到 hive 上的现有表中
我是 hadoop 生态系统的新手。我试图使用以下查询从 CSV 文件创建配置单元表。
此查询实际上创建了一个表 proxy_data 并填充了位于指定位置的 csv 文件中的值。
现在,我想将另一组 CSV 中的值附加到同一个表中(它应该跳过 csv 文件中存在的标题)。我检查了各种解决方案,但没有什么能满足我的需要。
python - ImportError:没有使用 Python 2.7 的 PyHive 内置模块
我正在尝试让 PyHive 在装有 Python 2.7.14 的 Windows 10(64 位)机器上工作。
这台机器被保护到无法访问互联网,但我可以将文件推送到它。
我已将 PyHive-0.5.1、future-0.9.0 和 thrift-0.11.0(.tar.gz 文件)推送到机器上,然后运行“python setup.py build”和“python setup.py install”他们每个人。
当我尝试一个只尝试“从 pyhive 导入配置单元”的小型测试程序时,我得到“ImportError:没有名为 builtins 的模块”。
在这种情况下,升级到 Python 3 不是一个可行的选择。
python - 如何使用 jinjasql 在 hive 上执行查询
是否可以使用 jinjasql 和 pyhive 对 hive 执行查询?当我尝试它时,我得到了以下错误。
我可以使用 jinjasql 和 pyhive 执行查询,但我需要同时使用两者来防止 sql 注入。
环境(都在同一个虚拟机上。)
- Hortonworks 数据平台 (HDP®) 2.6.4 在 Hortonworks Sandbox for VirtualBox
- Jinjasql 0.1.6
- PyHive 0.5.1
- Python 3.5.5
python - 使用 Pyhive 插入 Hive 调用错误
我正在使用 pyhive 与 hive 进行交互。
该SELECT
语句使用下面的代码运行良好。
直到这里没有问题。当我想INSERT
进入蜂巢时。
假设我想执行这个查询:INSERT INTO table2 SELECT Col1, Col2 FROM table1;
我试过 :
我收到此错误
如果我直接在 hive 中执行相同的查询,一切都会运行良好。有什么想法吗?
注意:我所有的表都是外部的