spark-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Max Moroz (JIRA)" <>
Subject [jira] [Commented] (SPARK-16319) Non-linear (DAG) pipelines need better explanation
Date Fri, 01 Jul 2016 07:50:11 GMT


Max Moroz commented on SPARK-16319:

[~srowen] Sorry for being unclear. 

Suppose I create three pipelines.

All three are created from the same list of nodes node_list. The nodes don't need any input
and output columns, they actually ignore the parameters provided to them. But for our purposes,
we will provide three different sets of input/output columns:

1) pipeline_DAG provides input and output column names that indicate a non-linear acyclic
data flow graph (such node_list is in topological order, as required)
2) pipeline_linear provides input and output column names that indicate a simple linear data
flow graph (identical to the order of nodes in node_list)
3) pipeline_unknown does not provide input and output columns at all, thus precluding ML from
inferring the graph structure

Under what circumstances, a fit() or a transform() called on those pipelines will be different?
I couldn't find any code that would behave differently for these three objects (I expected,
for example, something like an attempt to execute nodes in parallel when they don't depend
on each other, but failed to see anything like that in the code). It would be good if the
docs clarified that.

Another minor clarification that I'd recommend is to say what exactly is an "input column"
/ "output column" terms used in the implicit definition of DAG. I assume it's a parameter
named inputCol / outputCol, which may contain a string or a list of strings (in pyspark),
but it's not really obvious at all.

> Non-linear (DAG) pipelines need better explanation
> --------------------------------------------------
>                 Key: SPARK-16319
>                 URL:
>             Project: Spark
>          Issue Type: Documentation
>          Components: ML
>    Affects Versions: 2.0.0
>            Reporter: Max Moroz
>            Priority: Minor
> There's a [paragraph|]
about non-linear pipeline in the ML docs, but it's not clear how DAG pipeline differs from
a linear pipeline, and in fact, it seems that a "DAG Pipeline" results in the behavior identical
to that of a regular linear pipeline (the stages are simply applied in the order provided
when the pipeline is created). In addition, no checks of input and output columns seem to
occur when the or pipeline.transform() is called.
> It would be better to clarify in the docs and/or remove that paragraph.
> I'd be happy to write it up, but I have no idea what the intention of this concept is
at this point.
> [Additional reference on SO|]

This message was sent by Atlassian JIRA

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message