【发布时间】:2018-10-05 18:17:15
【问题描述】:
我用 docker 创建了一个 Hive 容器,我创建了 poke 表,当我在调用 show() 函数后执行 Select 查询时出现此错误。
代码:
from pyspark import SparkContext, SparkConf
from pyspark.sql import SparkSession, HiveContext
spark = SparkSession \
.builder \
.appName("Python Spark SQL Hive integration example") \
.config("hive.metastore.uris", "thrift://localhost:9083") \
.enableHiveSupport() \
.getOrCreate()
spark.sql("SELECT * FROM pokes").show()
错误是:
18/04/25 11:58:34 信息 SparkContext:创建广播 0 来自 回溯(最近一次通话最后): 文件“/Users/xxxxx/scripts/hive/hive.py”,第 12 行,在 spark.sql("SELECT * FROM pokes").show() 文件“/usr/local/Cellar/apache-spark/2.2.1/libexec/python/lib/pyspark.zip/pyspark/sql/dataframe.py”,第 336 行,显示 文件“/usr/local/Cellar/apache-spark/2.2.1/libexec/python/lib/py4j-0.10.4-src.zip/py4j/java_gateway.py”, 第 1133 行,在 调用 文件“/usr/local/Cellar/apache-spark/2.2.1/libexec/python/lib/pyspark.zip/pyspark/sql/utils.py”, 第 79 行,在装饰中 pyspark.sql.utils.IllegalArgumentException: u'java.net.UnknownHostException: namenode'
谢谢!
【问题讨论】:
-
没有
SQLContext()? -
我认为 SparkSession 管理 SQLContext
-
我认为 DOCKER/HADOOP 下的一些配置已损坏。它正在尝试使用域名 namenode 连接到主机
标签: python apache-spark hive pyspark