我得到以下错误:
18/03/14 15:31:11 Error ApplicationMaster:User类引发异常:org.apache.park.sql.Analysis异常:未找到表或视图:Products;第1行pos 42
这是我的代码:
val spark = SparkSession
.builder()
.appName("Test")
.getOrCreate()
val products = spark.read.parquet(productsPath)
products.createGlobalTempView("products")
val q1 = spark.sql("SELECT PERCENTILE(product_price, 0.25) FROM products").map(_.getAs[Double](0)).collect.apply(0)
我做错了什么?有没有可能在不使用sql
的情况下在Spark中做同样的事情?
3条答案
按热度按时间bf1o4zei1#
临时视图
只需将
createOrReplaceTempView
用作全局临时视图
如果您使用全局临时视图,则应执行
kjthegm62#
如果您想使用SQL API,您可以尝试
6yjfywim3#
所有全局临时视图都是在Spark保留的临时
global_temp
数据库中创建的。下面应该行得通-
Spark有两种不同类型的视图,
Tempview
和globalTempView
,更多详细信息请参见文章here。