在使用select语句时,如何修复pyspark中的查询地址?
我有一个问题,我觉得我的边缘修复,但不知道我做错了什么。我正在尝试通过专有网络连接到aws emr服务上的远程配置单元示例。
这是我的密码:
from pyspark.sql import SparkSession
from pyspark.sql import Row
spark = SparkSession \
.builder \
.appName("Python Spark SQL Hive integration example") \
.enableHiveSupport() \
.getOrCreate()
spark.sql("show tables").show()
从我的hivehdfs输出表非常有效。当我尝试运行下一个命令时:
spark.sql("select * from default.demo_pharmacy").show()
我得到以下错误:
py4j.protocol.Py4JJavaError: An error occurred while calling o35.showString.
: java.lang.IllegalArgumentException: java.net.UnknownHostException: ip-123-1-12-123.ec2.internal
我的问题是我不知道pyspark从哪里来:ip-123-1-12-123.ec2.internal。
我采取了以下步骤:
ssh进入远程emr master spark/conf,并将ip-123-1-12-123.ec2.internal的所有示例更改为123.1.12.123。
在远程emr主机中重新启动hadoopYarn资源管理器和spark历史服务器
已将hive-site.xml配置为: <property> <name>hive.metastore.uris</name> <value>thrift://123.1.12.123:9083</value> <description>JDBC connect string for a JDBC metastore</description> </property>
但我所做的一切似乎都不管用。我不断得到未知主机异常,因为我有一个aws专有网络后面的Hive集群。
所以我的问题归结为:当使用select语句时,如何修复pyspark中的查询地址?提前感谢您的帮助!
暂无答案!
目前还没有任何答案,快来回答吧!