You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sqoop.apache.org by "Abraham Elmahrek (JIRA)" <ji...@apache.org> on 2013/08/09 02:41:48 UTC

[jira] [Commented] (SQOOP-1061) Sqoop2: Introduce conditions on forms or inputs

    [ https://issues.apache.org/jira/browse/SQOOP-1061?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13734260#comment-13734260 ] 

Abraham Elmahrek commented on SQOOP-1061:
-----------------------------------------

Let's use a form of namespaces:
# It would provide a grouping abstraction that isn't dependent on form structure.
# Subsets of subsets of sets.
# Enables declarative evaluation in clients.

{code}
Form1:
  Input1 (NS:)
  Input2 (NS:ns1)
  Input3 (NS:ns1.more)
  Input4 (NS:ns1.less)
  Input5 (NS:ns2)
Form2:
  Input1 (NS:)
  Input2 (NS:ns2)
  Input3 (NS:ns2.more)
  Input4 (NS:ns2.less)
  Input5 (NS:ns1)

"default namespace" contains {Form1(*),Form2(*)}
"ns1" contains {Form1(input2,input3,input4),Form2(input5)}
"ns2" contains {Form1(input5),Form2(input2,input3,input4)}
"ns1.more" contains {Form1(input3)}
"ns1.less" contains {Form1(input4)}
"ns2.more" contains {Form2(input3)}
"ns2.less" contains {Form2(input4)}
{code}

Thoughts?
                
> Sqoop2: Introduce conditions on forms or inputs
> -----------------------------------------------
>
>                 Key: SQOOP-1061
>                 URL: https://issues.apache.org/jira/browse/SQOOP-1061
>             Project: Sqoop
>          Issue Type: New Feature
>    Affects Versions: 1.99.2
>            Reporter: Jarek Jarcec Cecho
>            Assignee: Abraham Elmahrek
>             Fix For: 2.0.0
>
>
> Currently we have static set of forms for {{Connection}} and {{Job}} objects with all possible inputs (~ questions) that we might possibly need to know. This seems to be very confusing for the end user as he is asked questions that might not make sense for his case.
> For example consider the Generic JDBC Connector that is asking following questions when creating the {{Job}} object:
> {code}
> Schema name:  (Make sense only for Table)
> Table name: (Make sense only for Table)
> Table SQL statement: (Make sense only for Query)
> Table column names:  (Make sense only for Table)
> {code}
> The possibilities {{Table name}} and {{Table SQL statement}} are mutually exclusive, so can't be filled at the same time. We do have support for validations that will filter such incorrect entries, however the user is still asked the questions, which is kind of confusing.
> I was thinking how to address this issue and I think that very nice and extensible solution would be allow some sort of conditions on either forms or inputs (or maybe both). For example we could create a new {{Enum}} input "Import type" with values {{TABLE}} or {{QUERY}} and then create conditions on the individual inputs to show them up only in case that this new input have certain value. For example (this is mock) for table:
> {code}
> Import Type:  TABLE
> Schema name: 
> Table name: 
> Table column names: 
> {code}
> Or for query:
> {code}
> Import Type:  QUERY
> Table SQL statement: 
> {code}
> I do not currently have more deeper proposal on my mind, however I'm looking forward for community feedback to see if it would make sense to go with this proposal further. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira