首页 > 解决方案 > spark.sql 无法执行基本的 SQL 调用。FROM 上的问题

问题描述

我基本上想得到 5 星和超过 1000 条评论的餐厅的名称、星数和评论数。

  def fiveStarBusinessesSQL():DataFrame = {
    spark.sql("SELECT name, stars, review_count FROM yelpBusinessesView WHERE stars == 5 && review_count >= 1000")
  }

为什么我得到错误对我来说毫无意义。这是一个基本的 SQL 调用,它可以获取 IMO 的基本信息。

这是我得到的错误:

Exception in thread "main" org.apache.spark.sql.catalyst.parser.ParseException: 
mismatched input 'FROM' expecting <EOF>(line 1, pos 33)

== SQL ==
SELECT name, stars, review_count FROM yelpBusinessesView WHERE stars == 5 && review_count >= 1000
---------------------------------^^^

我正在研究 Yelp 数据集。这是 yelpBusinessesView 中的示例

{"business_id":"1SWheh84yJXfytovILXOAQ","name":"Arizona Biltmore Golf Club","address":"2818 E Camino Acequia Drive","city":"Phoenix","state":"AZ","postal_code":"85016","latitude":33.5221425,"longitude":-112.0184807,"stars":3.0,"review_count":5,"is_open":0,"attributes":{"GoodForKids":"False"},"categories":"Golf, Active Life","hours":null}

标签: sqlapache-spark

解决方案


在处理普通 SQL 查询时使用字符串插值


推荐阅读