PySpark Hive 查询未显示输出
Posted
技术标签:
【中文标题】PySpark Hive 查询未显示输出【英文标题】:PySpark Hive queries aren't showing output 【发布时间】:2016-08-01 15:08:09 【问题描述】:我能够使用 pyspark 和 hivecontext 创建、删除、修改表。我以字符串格式加载了一个包含我要发送的命令的列表,并将它们传递给这个函数:
def hiveCommands(commands, database):
conf = SparkConf().setAppName(database + 'project').setMaster('local')
sc = SparkContext(conf=conf)
df = HiveContext(sc)
f = df.sql('use ' + database)
for command in commands:
f = df.sql(command)
f.collect()
它可以很好地进行维护,但我正试图深入分析,当我尝试发送诸如“描述表”之类的命令时,我看不到任何输出。
我只是它接受命令并执行它而没有任何错误,但我看不到查询的实际输出是什么。我可能需要弄乱我的 .profile 或 .bashrc,不太确定。有点像 Linux 新手。任何帮助将不胜感激。
【问题讨论】:
为什么会有任何输出?这里没有单一的方法可以产生它。 好吧,我在循环结束时尝试了“print f”,但它没有产生任何结果,所以我想也许需要一种特殊的方法。 我建议回到文档检查SQLContext.sql
到底在做什么。那里没有什么可以打印的。
【参考方案1】:
调用show
方法查看结果:
for command in commands:
df.sql(command).show()
【讨论】:
以上是关于PySpark Hive 查询未显示输出的主要内容,如果未能解决你的问题,请参考以下文章
发生异常:pyspark.sql.utils.AnalysisException '必须使用 writeStream.start();;\nkafka' 执行带有流式源的查询