IMDCs and JVM Scope - Aster Execution Engine

Teradata Aster® Developer Guide

Product
Aster Execution Engine
Release Number
7.00.02
Published
July 2017
Language
English (United States)
Last Update
2018-04-13
dita:mapPath
xnl1494366523182.ditamap
dita:ditavalPath
Generic_no_ie_no_tempfilter.ditaval
dita:id
ffu1489104705746
lifecycle
previous
Product Category
Software

By default, the scope of a JVM used to run a SQL-MapReduce function is the life of the query that calls the function. Any artifact in the JVM memory exists for the life of a query. Therefore, an IMDC used in a SQL-MapReduce function is visible to all SQL-MapReduce functions running within the same query.

However, a primary use case for IMDCs is a SQL-MapReduce function that issues the same query iteratively. This scenario is common in Aster Analytics. In this situation, you want to populate an IMDC and share it across query iterations, which requires a session-scoped JVM. A session-scoped JVM exists for the life of the session, during which time it maintains any memory state. This allows creating and populating an IMDC once and then sharing it across queries within the same session.