Получить время создания временного представления / таблицы Spark - PullRequest
0 голосов
/ 07 мая 2020

Мы используем Spark (2.2.3) внутри Zeppelin с каталогом в памяти для временных просмотров.

Мы страдаем от OOM, потому что пользователи создают множество временных представлений на основе множества файлов, и из-за этого память драйвера Spark раздувается довольно быстро.

Что я пытался сделать, так это отбросить временные представления после X часов его создания и оставить только последние.

Пытался получить время создания из CatalogTable с помощью следующего кода:

val tid = spark.sessionState.sqlParser.parseTableIdentifier(tableName)    
val catalogTable = spark.sessionState.catalog.getTempViewOrPermanentTableMetadata(tid)
print(catalogTable)

Пример вывода:

CatalogTable(
Table: pop_1
Created: Thu May 07 10:05:15 UTC 2020
Last Access: Wed Dec 31 23:59:59 UTC 1969
Type: VIEW
Schema: root
 |-- user_id: string (nullable = true)
 |-- features: vector (nullable = true)
 |-- num_segments: long (nullable = true)
)

Но по какой-то причине createTime всегда возвращается как сейчас (значение по умолчанию в CatalogTable)

Что я делаю неправильно, и есть ли другой способ получить то, что мне нужно?

Спасибо за помощь!

...