Now we will discuss the application code, how it uses these properties, and how custom functions can be defined for use in the SQL queries. The application comprises just a single source file, SampleApplication.java. As discussed in Chapter 2, Getting Started with Application Development, the entry point of an Apex application is a class that implements the StreamingApplication interface and, in particular, the populateDAG() method of that interface. The first part of this method looks like this:
@ApplicationAnnotation(name = "ETLExample") public class SampleApplication implements StreamingApplication { @Override public void populateDAG(DAG dag, Configuration conf) { try { // without this, the application fails at launch ...