spark sql在没有配置单元安装的情况下可以工作吗?

68de4m5k  于 2021-06-27  发布在  Hive
关注(0)|答案(1)|浏览(635)

我已经在一个干净的ubuntu示例上安装了spark2.4.0。sparkDataframe工作得很好,但当我尝试对Dataframe(如下面的示例)使用spark.sql时,出现了一个错误“failed to access metastore”。不应在运行时访问此类。“

spark.read.json("/data/flight-data/json/2015-summary.json")
.createOrReplaceTempView("some_sql_view") 

 spark.sql("""SELECT DEST_COUNTRY_NAME, sum(count) FROM some_sql_view GROUP BY DEST_COUNTRY_NAME """).where("DEST_COUNTRY_NAME like 'S%'").where("sum(count) > 10").count()

我看到的与此错误相关的大多数修复都涉及安装了配置单元的环境。如果我想对spark中的Dataframe使用sql语句,是否需要配置单元,或者我是否遗漏了其他内容?
继续我的计划。在我的例子中,问题是java11是我的系统的默认值。当我将java8设置为默认的metastore时,数据库就开始工作了。

pxyaymoc

pxyaymoc1#

是的,我们可以在spark上运行sparksql查询而不安装配置单元,默认情况下,配置单元使用mapred作为执行引擎,我们可以配置配置配置单元使用spark或tez作为执行引擎来更快地执行查询。spark配置单元上的配置单元使用配置单元元存储来运行配置单元查询。同时,可以通过spark执行sql查询。如果spark用于执行简单的sql查询或未连接到hivemetastore服务器,那么它将使用嵌入式derby数据库,并在执行查询的用户主文件夹下创建一个名为metastore\u db的新文件夹。

相关问题