hadoop - 使用 pyspark 从本地计算机连接远程 PrestoDB 时出现问题
问题描述
我正在尝试使用 pyspark 从我的 mac 本地计算机连接到远程服务器中安装的 presto DB,下面是我的代码。我已经下载了 presto 驱动程序并将其放在 /user/name//Hadoop/spark-2.3.1-bin-hadoop2.7/jars 下(我想这是我犯错的地方,但不确定)
from pyspark.sql import SparkSession, HiveContext
from pyhive import presto, hive
def main():
spark = SparkSession.builder\
.appName("tests")\
.enableHiveSupport()\
.getOrCreate()
df_presto = spark.read.format("jdbc") \
.option("driver", "io.prestosql.jdbc.PrestoDriver")\
.option("url", "jdbc:presto://host.com:443/hive") \
.option("user", "user_name")\
.option("password", "password") \
.option("dbtable", "(select column from table_name limit 10) tmp") \
.load()
Preso 驱动程序:presto-jdbc-340.jar
当我尝试执行代码时,出现如下错误
Traceback (most recent call last):
File "/Users/user_name/Hadoop/spark-2.3.1-bin-hadoop2.7/python/lib/pyspark.zip/pyspark/sql/utils.py", line 63, in deco
File "/Users/user_name/Hadoop/spark-2.3.1-bin-hadoop2.7/python/lib/py4j-0.10.7-src.zip/py4j/protocol.py", line 328, in get_return_value
py4j.protocol.Py4JJavaError: An error occurred while calling o38.load.
: org.apache.spark.sql.AnalysisException: java.lang.RuntimeException: java.lang.IllegalArgumentException: java.net.UnknownHostException: ip-10-120-99-149.ec2.internal;
at org.apache.spark.sql.hive.HiveExternalCatalog.withClient(HiveExternalCatalog.scala:106)
at org.apache.spark.sql.hive.HiveExternalCatalog.databaseExists(HiveExternalCatalog.scala:194)
知道如何解决这个问题吗?
解决方案
推荐阅读
- python - 单张到多张图像的图像处理
- ios - resident_size 和 virtual_size 的区别
- java - beanio 映射文件中的 maxLength 功能不起作用
- artificial-intelligence - 在 Windows 10 上重建 Carla(驾驶模拟器)时出现 libintl3.dll 错误
- angularjs - 将授权标头添加到单击的链接
- excel - 加载 Excel 工作表时使用 VBA 初始化组合框
- reactjs - Axios POST 请求不起作用
- vue.js - 在 vue v-for 中,数据属性的值不显示在循环中
- git - Mac 终端 Git 不工作
- java - 当两个微调器等于特定字符串时,如何允许调用函数?