Я анализирую использование памяти нашим искровым приложением.Мы используем Hive и PySpark
. В нашем приложении у нас есть много запросов SparkSQL, подобных следующим.При выполнении запросов наш сервер хранилища hivemeta находится под большим давлением и нехватки памяти.
Хранилище с кэшем диска claim_temp
взорвется, хотя я не могу найти никаких дополнительных операторов cache()
.Просто выберите данные с несколькими столбцами в результате выбора и вставьте результат.(Claim_temp составляет около 300 ГБ и увеличится до 1000 ГБ)
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()
Добавляет ли оператор создания временного представления данные в Hive Metastore?
Является ли представление create temp представлением Hive SQL, который будет рассматриваться как временная таблица в Hive, или просто заменой createOrReplaceTempView, который не добавляет никакой памяти?