【发布时间】:2019-12-03 08:45:33
【问题描述】:
我必须使用本地 spark 连接远程配置单元并进行身份验证。
我可以通过直线连接。
beeline> !connect jdbc:hive2://bigdatamr:10000/default 连接到 jdbc:hive2://bigdatamr:10000/default 输入 jdbc 的用户名:hive2://bigdatamr:10000/default: myusername 输入 jdbc 的密码:hive2://bigdatamr:10000/default: ******** 连接到:Apache Hive(版本 1.2.0-mapr-1703) 驱动程序:Hive JDBC(版本 1.2.0-mapr-1703) 事务隔离:TRANSACTION_REPEATABLE_READ
如何将其转换为使用 spark? 我试过 thrift 和 jdbc 但都不起作用
我的小技巧,不知道如何通过认证
from pyspark.sql import SparkSession
spark = SparkSession\
.builder.master("yarn")\
.appName("my app")\
.config("hive.metastore.uris", "thrift://bigdatamr:10000")\
.enableHiveSupport()\
.getOrCreate()
我的jdbc试试,不支持throw方法
jdbcDF = spark.read \
.format("jdbc") \
.option("url", "jdbc:hive2://bigdatamr:10000") \
.option("dbtable", "default.tmp") \
.option("user", "myusername") \
.option("password", "xxxxxxx") \
.load()
Py4JJavaError: An error occurred while calling o183.load.
: java.sql.SQLException: 方法不受支持
【问题讨论】:
-
您是否有权访问远程集群上的 spark 配置?我的意思是目录 PATH/TO/SPARK/conf ?
-
@user1314742 是的,我可以
-
你能找到一个名为 hive-site.xml 的文件吗?您将此文件本地复制到 spark conf 目录,然后尝试再次运行您的应用程序
标签: apache-spark hive