You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Paul Rogers (JIRA)" <ji...@apache.org> on 2016/07/12 23:25:21 UTC

[jira] [Created] (DRILL-4776) Errata, questions about UDF documentation

Paul Rogers created DRILL-4776:
----------------------------------

             Summary: Errata, questions about UDF documentation
                 Key: DRILL-4776
                 URL: https://issues.apache.org/jira/browse/DRILL-4776
             Project: Apache Drill
          Issue Type: Bug
          Components: Documentation
    Affects Versions: 1.7.0
            Reporter: Paul Rogers
            Priority: Minor


See the documentation at https://drill.apache.org/docs/develop-custom-functions-introduction/

"Simple Function: A simple function operates on a single row and produces a single row as the output."

Some explanation is needed. In SQL, the function accepts a single column and produces a new column as output: SELECT myFunc( x ) FROM y; The example string and math functions are, in fact, column (technically "scalar") functions.

Process, item 3: Explain why Drill needs the source files.

On this page: https://drill.apache.org/docs/developing-a-simple-function/

Step 1 has a Maven dependency on version 1.1.0 of Drill. It is probably obvious to most folks, but the user must replace the 1.1.0 with the version of Drill that is running on their cluster.

Step 3: it is not clear if the "bit holders" are parameters to a function or are member variables into which values are injected. Some more background about the runtime flow would help answer this question. That is, what does Drill do with the class? When is an instance created? How are values passed in?

Step 4: are setup( ) and eval( ) overrides? If so, add the standard @Override annotation to help the user understand that these are overrides. Otherwise, these might be "magic method names" (like "main"), so the user has to know to use exactly those names (and signatures).

Step 4: explain the purpose of the setup( ) method. When is it called? Once per Drillbit session? Once per fragment? Once per row? How do we intend it to be used?






--
This message was sent by Atlassian JIRA
(v6.3.4#6332)