Table Output

TODO CODE

	public static class CustomOutputTable {
		public String postFixName; // (CURRENTLY NOT SUPPORTED) is appended with a # to the source key to give the name of the custom output job/table 
		
		public String sortField; // Field to sort on (defaults to "_id"), supports dot notation
		public Integer sortDirection; // In conjunction with sortField, -1 or 1 for descending or ascending  
		public String dataStoreIndexes; // A JSON object or list of JSON objects defining simple or compound MongoDB indexes
		public Long perCycleObjectLimit; // (NOTE - Only one of this and globalObjectLimit can be specified - this only makes sense for append* jobs) Each time the job is run only this many objects from the last run (not globally) are added to the output (uses the sortField/sortDirection to decide what to throw away)
		public Long globalObjectLimit; // (NOTE - Only one of this and perCycleObjectLimit can be specified) Limits the total number of objects, uses the sortField/sortDirection to decide what to throw away 

		public enum AppendMode { replace, append_reduce, append_merge }
		public AppendMode appendMode; // Replace - the entire table gets rewritten each job, append_merge - new records are added to the data (where the key matches, the older data is overwritte), append_reduce - new records are added to the data (where the key matches older data an additional reduce step is run and the output replaces the old data) 
		public Double ageOut_days; // In either append mode, discards data older than this parameter (only applied each time the job is run)
		
		public Boolean indexed; // (OPTIONAL - defaults to true) If true, then the output table is mirrored to the elasticsearch index (and can be accessed via the records index) 
	}