我正在分析我们的spark应用程序的内存使用情况。我们使用Hive和PySpark
在我们的应用程序中,我们有许多SparkSQL查询,例如以下查询。运行查询时,我们的hivemeta存储服务器承受着很大的压力,并且内存不足。
尽管找不到其他claim_temp
语句,但磁盘缓存的cache()
的存储将爆炸。只需选择数据,然后在选择结果中包含一些列,然后插入结果即可。 (Claim_temp大约为300 GB,并将增长到1000GB)
SQL4 = """
create temp view EX as
select a.* from {0} a
inner join {1} b
on a.specialty = b.code
where classification = 'ABCD'
""".format(self.tables['Claims'],self.tables['taxonomy'])
self.spark.sql(SQL4)
self.spark.sql("""insert into {0}.results_flagged
select * from EX """.format()
create temp视图语句是否将数据添加到Hive Metastore?
创建临时视图是在Hive中将被视为临时表的Hive SQL,还是只是不添加任何内存的createOrReplaceTempView的替换?
答案 0 :(得分:0)
临时视图将不会持久保存到元存储中……它是与spark会话应用程序相关联的对象,并在应用程序结束时被杀死...详细信息=> https://docs.databricks.com/spark/latest/spark-sql/language-manual/create-view.html