Virtual Engine Generator

Navigation:  Il Package: lavorazione dei dati > Elaborazione dei dati: i Data Engine >

Virtual Engine Generator

Previous pageReturn to chapter overviewNext page

Il Virtual Engine Generator VirtualEngineGenerator16(abbr. VEG) è un oggetto di tipo DataEngine del Package in grado di generare dinamicamente a «run-time» DataLink o DataEngine «virtuali», ossia validi per la sola esecuzione corrente ed eseguite solo se il piano di esecuzione li prevede.

 

Una reference ad un qualunque oggetto generato da un VEG implica una dipendenza del VEG stesso.

 

Gli elementi definitori del VEG sono esposti nei seguenti tab:

General, per l'impostazione del nome dell'oggetto e della descrizione opzionale;

Input Query, per l'inserimento obbligatorio di una query che definisca l'oggetto;

Dynamic Properties, per la definizione dinamica opzionale delle properties

 

La Input Query può essere composta liberamente. Tuttavia, essa deve restituire i seguenti campi:

name, contenente il nome dell'oggetto da generare;

ObjectType, contenente il tipo di oggetto da generare;

Query, contenente la query sorgente che descrive l'oggetto da generare;

Ulteriori campi aventi il nome delle property dell'oggetto (e.g. Connection, UnexpectedColumns) per la definizione del comportamento dell'oggetto da generare.

 

warning

L'eventuale specificazione di property di caching nella Input Query non può avere effetto, in quanto il VEG non crea oggetti persistenti, ma materialmente presenti solo nel contesto di una singola esecuzione.

 

 

ex

DOMINIO DEL CAMPO ObjectType

 

Il campo ObjectType può assumere i valori relativi alle tipologie di oggetti del Package che sono di norma utilizzati dal Designer, cioè:

 

AuditShelfReference

BloombergBulkDatalink

BloombergHistoryDatalink

BloombergTableDatalink

CatalogExaminer

ChannelConnection

DatabaseDatalink

DataBoxDatalink

DataShelfReference

DBConnection

DynamicLoader

ExcelDatalink

FileDatalink

FileWriterDatalink

FolderConnection

Function

InvokeWorkflow

LockEngine

MaskingEngine

ParameterDatalink

DataProfilerEngine

QueryEngine

PackageExaminer

REngine

PythonEngine

ResourcesDatalink

RuleEngine

ScriptEngine

ScriptModule

SqlEngine

SysInfoDatalink

VirtualDBConnection

VirtualEngineGenerator

 

 

Esiste uno schema di naming speciale per i VEG:

 

[<full name del VEG>|<path dell'oggetto generato>]

 

Tale schema può essere usato sia per richiamare il VEG da altri oggetti del Package, sia nella definizione stessa della Input Query.

 

ex

ESEMPIO DI INPUT QUERY

L'esempio seguente rappresenta una Input Query per la definizione di un Query Engine virtuale:

 

SELECT

  name = 'st1',

  ObjectType = 'QueryEngine',

  Query = 'select * from [table]',

  UnexpectedColumns = 'Read'

UNION ALL

SELECT

  name = 'st2',

  ObjectType = 'QueryEngine',

  Query = 'select * from [veg|st1]',

  UnexpectedColumns = 'Read' 

 

Richiamando l'oggetto veg definito dalla precedente Input Query in un qualsiasi altro oggetto del Package, sarà in questo caso generato, esclusivamente in fase di esecuzione:

un oggetto Query Engine definito dalla Query

select * from [table]

nel caso in cui sia richiamato da SELECT * FROM [veg|st1]

oppure di un oggetto Query Engine definito dalla Query

select * from [veg|st1]

nel caso in cui sia richiamato da SELECT * FROM [veg|st2]

 

Si noti, in particolare che, nel secondo caso, la Query definitoria del Query Engine richiama direttamente essa stessa l'oggetto veg, la cui applicazione può essere, quindi, di tipo ricorsivo.

 

LightBulb

Un VEG può permettere la creazione di DataLink virtuali.

Questo utilizzo consente di operare in parallelismo per quanto riguarda porzioni dell'esecuzione, anche su aspetti non nativamente parallelizzabili.

L'esempio più importante, a questo proposito, è la possibilità di istanziare l'acquisizione iniziale simultanea dei dati provenienti da sorgenti esterne diverse, anche in presenza di strutture non congruenti (e.g. file diversi in folder diversi).

 

warning

Il Virtual Engine Generator non è un oggetto EAsT, cioè non restituisce un risultato sotto forma di tabella. Tuttavia, è disponibile la visualizzazione in Preview del risultato della Input Query.

 

info

La documentazione del Package non è in grado di integrare gli oggetti creati dal VEG, che sono tuttavia descritti completamente dai processi di Audit.

 

LightBulb

A partire dalla versione IrionEDM 2016 Update 11, è disponibile anche una sample query per ciascun Object Type, inseribile dal menu a tendina Sample del ribbon Home.