- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我们有一个 HDInsight 群集,其中一些表位于 HIVE 中。我想从客户端计算机(Azure 外部)的 Python 3.6 查询这些表。
我尝试过使用 PyHive
、pyhs2
以及 impyla
,但我在使用它们时遇到了各种问题。
有人有从 Python 访问 HDInsight HIVE
的工作示例吗?
我对此经验很少,并且不知道如何配置PyHive
(这似乎是最有前途的),尤其是在授权方面。
使用impyla
:
from impala.dbapi import connect
conn = connect(host='redacted.azurehdinsight.net',port=443)
cursor = conn.cursor()
cursor.execute('SELECT * FROM cs_test LIMIT 100')
print(cursor.description) # prints the result set's schema
results = cursor.fetchall()
这给出:
Traceback (most recent call last):
File "C:/git/ml-notebooks/impyla.py", line 3, in <module>
cursor = conn.cursor()
File "C:\Users\chris\Anaconda3\lib\site-packages\impala\hiveserver2.py", line 125, in cursor
session = self.service.open_session(user, configuration)
File "C:\Users\chris\Anaconda3\lib\site-packages\impala\hiveserver2.py", line 995, in open_session
resp = self._rpc('OpenSession', req)
File "C:\Users\chris\Anaconda3\lib\site-packages\impala\hiveserver2.py", line 923, in _rpc
response = self._execute(func_name, request)
File "C:\Users\chris\Anaconda3\lib\site-packages\impala\hiveserver2.py", line 954, in _execute
.format(self.retries))
impala.error.HiveServer2Error: Failed after retrying 3 times
使用Pyhive
:
from pyhive import hive
conn = hive.connect(host="redacted.azurehdinsight.net",port=443,auth="NOSASL")
#also tried other auth-types, but as i said, i have no clue here
这给出:
Traceback (most recent call last):
File "C:/git/ml-notebooks/PythonToHive.py", line 3, in <module>
conn = hive.connect(host="redacted.azurehdinsight.net",port=443,auth="NOSASL")
File "C:\Users\chris\Anaconda3\lib\site-packages\pyhive\hive.py", line 64, in connect
return Connection(*args, **kwargs)
File "C:\Users\chris\Anaconda3\lib\site-packages\pyhive\hive.py", line 164, in __init__
response = self._client.OpenSession(open_session_req)
File "C:\Users\chris\Anaconda3\lib\site-packages\TCLIService\TCLIService.py", line 187, in OpenSession
return self.recv_OpenSession()
File "C:\Users\chris\Anaconda3\lib\site-packages\TCLIService\TCLIService.py", line 199, in recv_OpenSession
(fname, mtype, rseqid) = iprot.readMessageBegin()
File "C:\Users\chris\Anaconda3\lib\site-packages\thrift\protocol\TBinaryProtocol.py", line 134, in readMessageBegin
sz = self.readI32()
File "C:\Users\chris\Anaconda3\lib\site-packages\thrift\protocol\TBinaryProtocol.py", line 217, in readI32
buff = self.trans.readAll(4)
File "C:\Users\chris\Anaconda3\lib\site-packages\thrift\transport\TTransport.py", line 60, in readAll
chunk = self.read(sz - have)
File "C:\Users\chris\Anaconda3\lib\site-packages\thrift\transport\TTransport.py", line 161, in read
self.__rbuf = BufferIO(self.__trans.read(max(sz, self.__rbuf_size)))
File "C:\Users\chris\Anaconda3\lib\site-packages\thrift\transport\TSocket.py", line 117, in read
buff = self.handle.recv(sz)
ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host
最佳答案
根据官方文档Understand and resolve errors received from WebHCat on HDInsight ,如下所述。
What is WebHCat
WebHCat is a REST API for HCatalog, a table, and storage management layer for Hadoop. WebHCat is enabled by default on HDInsight clusters, and is used by various tools to submit jobs, get job status, etc. without logging in to the cluster.
所以解决方法是使用WebHCat在Python中运行Hive QL,请引用Hive document学习和使用它。作为引用,有类似的MSDN thread对此进行了讨论。
希望有帮助。
关于python - 使用 python 访问 HDInsight Hive,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46369427/
我已在 12Gb 开发计算机上安装了 Azure HDInsight 模拟器(“HortonWorks Data Platform 2.1.3.0 For Windows”),它占用了我的所有 RAM
创建新的 HDInsight 群集后,当我提供身份验证信息并尝试访问 HDInsight Web 门户 https://{Cluster Name}.azurehdinsight.net/时,收到以下
创建新的 HDInsight 群集后,当我提供身份验证信息并尝试访问 HDInsight Web 门户 https://{Cluster Name}.azurehdinsight.net/时,收到以下
我浏览了多个文档,但无法获得与 Azure Databricks 集群相比使用 HDInsigths spark 集群的优势列表。这两者之间是否有任何关键区别。我基本上需要 HDInsights 支持
我是 Microsoft Azure 的新手。我在 Azure 上创建了一个试用帐户。安装了azure powershell并提交了默认的wordcount map reduce程序,它运行良好,并且
我正在尝试使用带有PowerShell(cmdlet Invoke-Hive)的Azure HDInsight在Hive中创建外部表,但是由于以下错误在stderr中失败: Logging initi
我正在尝试创建 Hadoop HDInsight 集群(使用我的免费套餐)。我正在尝试使用不同的默认节点设置(尝试了几种组合),但我的部署始终失败,并显示以下错误消息。 使用节点的默认设置后,部署成功
我是 Microsoft Azure 的新手。我在 Azure 上创建了一个试用帐户。安装了azure powershell并提交了默认的wordcount map reduce程序,它运行良好,并且
我们有在 Azure 上运行的 HDinsight 集群。我试图创建一台客户端计算机来连接到 HDInsight。我按照 Hortonworks 安装指南中的说明安装所有客户端组件,然后将/etc/h
我按照下面显示的链接中的步骤将 Hadoop 2.2 群集与 HDInsight 结合使用。 http://azure.microsoft.com/en-us/documentation/articl
我刚开始研究 HDInsight,但它不能正常工作.. 当我安装新的 HDInsight 时,它运行良好,但如果我重新启动或重新启动系统,服务器无法识别集群。 消息显示为“您的集群“本地 (hdfs)
我无法删除由关联Azure Datalake Store上的Python/Scala/Hive程序创建的文件。当我尝试删除这些文件夹和文件时,我收到访问被拒绝错误。我确保我对这些文件夹和文件拥有完全权
我正在尝试使用下面的 Microsoft 文档创建 Hdinsight-kafka 集群 https://learn.microsoft.com/en-us/azure/hdinsight/kafka
显然,我需要在一台群集计算机上启动一个zookeeper服务器,然后需要其他客户端计算机连接到该服务器。 我这样做的方法是,我使用ssh连接到根节点,我发现一个运行在端口2181上的zk服务器。因此,
我正在使用Hive流作业来处理HDInsight上C#中的某些数据。为了处理数据,脚本必须读取存储为Azure上的Blob的xml文件,如下所示: OperationContext o
是Microsoft“HDInsight”的免费开发下载。下面的URL表示可以下载,但是Microsoft网站上没有这样的链接,任何人都可以告诉我Microsoft“Hadoop”是否免费。 “htt
在 hdinsight hive 编辑器上使用什么命令来连接到特定的存储?通过 b.lodefault,hive 编辑器连接到错误的存储我应该给它什么命令来使用正确的存储 blob?如何使用 hive
我正在Azure HDInsight中运行一个简单的 map 缩小作业,以下是我们正在运行的命令: java -jar WordCount201.jar wasb://hexhadoopcluster
在HDInsight群集上,使用CREATE EXTERNAL语句创建一个Hive表: CREATE EXTERNAL TABLE HTable(t1 string, t2 string, t3 st
我正在考虑将Hive与HDInsight以及将数据加载到Azure Blob存储上。 历史数据和变化中的数据结合在一起。 Update , SET option in Hive中提到的解决方案也可以与
我是一名优秀的程序员,十分优秀!