Hive Spark SQL临时视图的最佳实践
我是新来的Hive Spark SQL临时视图的最佳实践,hive,apache-spark-sql,Hive,Apache Spark Sql,我是新来的Spark。我们使用Spark SQL查询AWS EMR上的Hive表 我通过分步构建几个临时视图来运行一个复杂的查询 例如,第一个临时视图是通过在步骤1中连接两个表,然后使用此临时视图创建的 作为下一步的源,依此类推,直到最后一步,最后一步的结果将持久化到磁盘。下面给出了一个例子: create temporary view test1 as select a.cust_id, b.prod_nm from a inner join b on a.id = b.id; creat
Spark
。我们使用Spark SQL查询AWS EMR
上的Hive
表
我通过分步构建几个临时视图来运行一个复杂的查询
例如,第一个临时视图是通过在步骤1中连接两个表,然后使用此临时视图创建的
作为下一步的源,依此类推,直到最后一步,最后一步的结果将持久化到磁盘。下面给出了一个例子:
create temporary view test1 as
select a.cust_id, b.prod_nm
from a
inner join b
on a.id = b.id;
create temporary view test2 as
select t1.*, t2.*
from test1 t1
inner join c t2
on t1.cust_id = t2.cust_id;
请注意,第一步的结果视图(test1)在第二步中用作与另一个表C
联接的源
现在,由于Spark的惰性计算,即使在每一步都创建了临时视图,但直到最后一步才提取数据。因此,在实现复杂转换的查询中,我们经常会遇到性能问题(例如,多个表上的连接)
基本上我有两个问题:
cache TABLE cache\u视图中缓存的代码
从表中选择*代码>