Будет ли спарк создавать или заменять временный вид, добавлять память в Hive Metastore? - PullRequest
0 голосов
/ 18 апреля 2019

Я анализирую использование памяти нашим искровым приложением.Мы используем 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, который не добавляет никакой памяти?

1 Ответ

0 голосов
/ 18 апреля 2019

временное представление не будет сохраняться в metastore ... это объект, связанный с приложением сеанса spark, и уничтожается при завершении приложения ... подробности здесь => https://docs.databricks.com/spark/latest/spark-sql/language-manual/create-view.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...