gpt4 book ai didi

python - 使用 python 和 Kerberos 连接到 Hive

转载 作者:行者123 更新时间:2023-12-01 09:16:53 26 4
gpt4 key购买 nike

我正在尝试使用 Python 连接到配置单元。我安装了所需的所有依赖项(sasl、thrift_sasl 等)

这是我尝试连接的方法:

configuration = {"hive.server2.authentication.kerberos.principal" : "hive/_HOST@REALM_HOST", "hive.server2.authentication.kerberos.keytab" : "/etc/security/keytabs/hive.service.keytab"}

connection = hive.Connection(configuration = configuration, host="host", port=port, auth="KERBEROS", kerberos_service_name = "hiveserver2")

但我收到此错误:

Minor code may provide more information (Cannot find KDC for realm "REALM_DOMAIN")

我失踪了什么?有人有使用 kerberospyHive 连接示例吗?

感谢您的帮助。

最佳答案

谢谢@Kishore。实际上在 PySpark 中,代码如下所示:

import pyspark
from pyspark import SparkContext
from pyspark.sql import Row
from pyspark import SparkConf
from pyspark.sql import HiveContext
from pyspark.sql import functions as F
import pyspark.sql.types as T

def connection(self):
conf = pyspark.SparkConf()
conf.setMaster('yarn-client')
sc = pyspark.SparkContext(conf=conf)

self.cursor = HiveContext(sc)

self.cursor.setConf("hive.exec.dynamic.partition", "true")
self.cursor.setConf("hive.exec.dynamic.partition.mode", "nonstrict")
self.cursor.setConf("hive.warehouse.subdir.inherit.perms", "true")
self.cursor.setConf('spark.scheduler.mode', 'FAIR')

您可以使用以下方式请求:

rows = self.cursor.sql("SELECT someone FROM something")
for row in rows.collect():
print row

我实际上是通过命令运行代码:

spark-submit --master yarn MyProgram.py

我想你基本上可以使用安装了 pyspark 的 python 来运行,如下所示:

python MyProgram.py 

但我没有尝试过,所以我不能保证它是否有效

关于python - 使用 python 和 Kerberos 连接到 Hive,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51170656/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com