Tips and terminology - 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
  • In the SimpleSampleSearch.java file, and in the rest of the Java code for this function, partition almost always refers to the partition created by the SELECT statement's PARTITION BY clause, for example:
    SELECT * FROM simplesamplesearch(
      ON vertices AS vertices_alias PARTITION BY src_ID
      ...
    )...;

    not the PARTITION BY clause of a CREATE TABLE statement.

  • The terms source and destination might be overloaded—they could refer to either the start and end point of an edge, or to the start and end vertices in a search.
  • The table schemas are implicitly hard-coded because this example expects certain pieces of information to be in particular columns of the input. You can adjust the example by modifying some class variables that specify the column numbers.
  • For each incoming message, the vertex sends one outbound message along each of its outbound edges.

    So, during a particular iteration (that is, a particular invocation of operateOnVertex()), if this vertex received 2 messages, and if this vertex has 3 outbound edges, then it sends 6 messages.

    This is not efficient; it would be more efficient to look at all incoming messages, pick the one with the shortest path so far (in terms of kilometers), and then forward that message, and discard the others. However, this example tests a scenario in which the function sends multiple messages per downstream vertex per iteration, so the possible optimization of checking all the messages first and then picking the best was omitted.