private List <RDD.RDD> PrepareActionsList(RDD <TOutput> lastRdd) { var rdds = new List <RDD.RDD>(); RDD.RDD rdd = lastRdd; while (rdd != null) { rdds.Add(rdd); rdd = rdd.GetPrevious(); } rdds.Reverse(); return(rdds); }
private void CheckStartType(RDD.RDD rdd) { var type = rdd.GetType(); do { type = type.BaseType; } while (type.GetGenericTypeDefinition() != typeof(RDD <>)); var genericArgument = type.GetGenericArguments()[0]; if (genericArgument != typeof(TInput)) { throw new Exception( $"Start RDD type has type ${genericArgument.Name}, but processor has input type ${typeof(TInput)}"); } }