当前位置: 首页 > 面试题库 >

Spark可以从pyspark访问Hive表,但不能从Spark提交访问

司马念
2023-03-14
问题内容

因此,从pyspark运行时,我会输入(不指定任何上下文):

df_openings_latest = sqlContext.sql('select * from experian_int_openings_latest_orc')

..而且效果很好。

但是,当我从运行脚本时spark-submit,例如

spark-submit script.py 我把以下内容

from pyspark.sql import SQLContext
from pyspark import SparkConf, SparkContext
conf = SparkConf().setAppName('inc_dd_openings')
sc = SparkContext(conf=conf)
sqlContext = SQLContext(sc)

df_openings_latest = sqlContext.sql('select * from experian_int_openings_latest_orc')

但这给我一个错误

pyspark.sql.utils.AnalysisException:u’未找到表:experian_int_openings_latest_orc;’

所以它没有看到我的桌子。

我究竟做错了什么?请帮忙

PS Spark版本在Amazon EMR上运行1.6


问题答案:

火花2.x

如果SparkSession在未启用Hive支持的情况下创建了Spark
2.x,则可能会出现相同的问题。

Spark 1.x

这很简单。当您使用PySpark
Shell并在Hive支持下构建了Spark时,默认SQLContext实现(可用sqlContext)为HiveContext

在独立应用程序中,您使用SQLContext不提供Hive功能的Plain 。

假设其余配置正确,则只需替换:

from pyspark.sql import SQLContext

sqlContext = SQLContext(sc)

from pyspark.sql import HiveContext

sqlContext = HiveContext(sc)


 类似资料:
  • 问题内容: 我是Hive,MapReduce和Hadoop的新手。我正在使用Putty连接到配置单元表并访问表中的记录。因此,我要做的是- 打开Putty并输入主机名-然后单击。然后我输入了用户名和密码,然后输入了一些命令来访问Hive sql。以下是我的工作清单 所以我的问题是 还有其他方法可以在任何Sql客户端(例如Sql Developer或Squirel SQL Client)中执行相同的

  • 我正在尝试从SparkSQL作业访问S3文件。我已经尝试了几个帖子的解决方案,但似乎没有工作。也许是因为我的EC2集群为Hadoop2.7运行了新的Spark2.0。 我是这样设置hadoop的: 我使用sbt程序集构建了一个uber-jar,使用: PS:如果我切换到s3n协议,我得到以下异常: java.io.ioException:方案s3n没有文件系统

  • 在同一个openshift项目中,我在POD1中有一个application1(APP1),在POD2中有另一个application(APP2)。 这两个应用程序都提供REST API服务。这两个应用程序可以使用两种不同的openshift路线访问。 从PAAS外部访问这两个应用程序(openshift)工作正常:这意味着使用来自PAAS外部客户端的openhsft路由执行到APP1/APP2的

  • 我正在尝试使用HttpClient从我的代码访问网站: 这是我得到的错误: 我从浏览器检查了证书,它似乎是正确的,具有正确的名称。不确定它从哪里拾取。 如果我使用代理,代码确实有效。在StackOverflow上遇到了很多类似的问题,但在大多数情况下,服务器处于用户的控制之下。就我而言,这是一个已经存在的网站。我只有这个网站才有这个问题。 会不会是我的环境有问题? 更新: 我发现两个网站(和)都有

  • 即使我的帐户可以访问SSMS中的db,并具有sysadmin权限。 检查SQL日志,每当登录失败时,我都可以看到这条消息: 我尝试向和添加,但没有什么不同 但我也试过 以同样的结果

  • 我正在开发一条每天都会运行的管道。它包括连接两个表,比如x 以下是关于环境的事实, 对于表x: 数据大小:18 MB 分区中的文件数:~191 文件类型:拼花地板 对于表y: < li >数据大小:1.5 GB < li >一个分区中的文件数:~3200 < li >文件类型:拼花地板 现在的问题是: 我尝试了不同的资源组合的火花工作。 例如。: 执行者:50内存:20GB内核:5 执行者:70内