开发者社区> 问答> 正文

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

社区小助手 2018-12-19 17:11:50 405

我在一个的ubuntu实例上安装了spark 2.4.0。Spark数据帧工作正常但是当我尝试对数据帧使用spark.sql时,如下例所示,我收到错误“无法访问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()

我看到的与此错误相关的大多数修复都是指安装了hive的环境。如果我想对spark中的数据帧使用sql语句或者我缺少其他东西,是否需要配置单元?

跟进我的修复。我的问题是Java 11是我系统的默认设置。一旦我将Java 8设置为默认的metastore_db就开始工作了。

分享到
取消 提交回答
全部回答(1)
  • 社区小助手
    2019-07-17 23:23:05

    是的,我们可以在不安装配置单元的情况下在spark上运行spark sql查询,默认情况下,hive使用mapred作为执行引擎,我们可以配置配置单元使用spark或tez作为执行引擎来更快地执行我们的查询。Spark on hive上的Hive使用hive Metastore来运行配置单元查询。同时,sql查询可以通过spark执行。如果spark用于执行简单的sql查询或未与hive Metastore服务器连接,则它使用嵌入式derby数据库,并且将在执行查询的用户主文件夹下创建名为metastore_db的新文件夹。

    0 0
+ 订阅

大数据计算实践乐园,近距离学习前沿技术

推荐文章
相似问题