Hive
  1. Hive
  2. HIVE-45

Hive: GenericUDF and support of complex object

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.4.0
    • Component/s: Query Processor
    • Labels:
      None

      Description

      GenericUDF are more powerful than UDF in the following ways:
      1. It can accept arguments of complex types, and return complex types.
      2. It can accept variable length of arguments.
      3. It can accept an infinite number of function signature - for example, it's easy to write a GenericUDF that accepts array<int>, array<array<int>> and so on (arbitrary levels of nesting).
      4. It can do short-circuit evaluations.

        Issue Links

          Activity

          Zheng Shao created issue -
          Zheng Shao made changes -
          Field Original Value New Value
          Component/s contrib/hive [ 12312455 ]
          Owen O'Malley made changes -
          Project Hadoop Core [ 12310240 ] Hadoop Hive [ 12310843 ]
          Key HADOOP-4229 HIVE-45
          Issue Type Improvement [ 4 ] Bug [ 1 ]
          Component/s contrib/hive [ 12312455 ]
          Assignee Zheng Shao [ zshao ]
          Ashish Thusoo made changes -
          Component/s Query Processor [ 12312586 ]
          Zheng Shao made changes -
          Assignee Zheng Shao [ zshao ]
          Zheng Shao made changes -
          Link This issue blocks HIVE-164 [ HIVE-164 ]
          Zheng Shao made changes -
          Summary Hive: UDFTemplate and support of complex object Hive: GenericUDF and support of complex object
          Description We should allow users to define UDF template (in the sense of c++ template that can take args of different types), and let UDF take complex objects.
          This should be pretty simple given that we have the ObjectInspector which can navigate through the internal structure of the object.
          GenericUDF are more powerful than UDF in the following ways:
          1. It can accept arguments of complex types, and return complex types.
          2. It can accept variable length of arguments.
          3. It can accept an infinite number of function signature - for example, it's easy to write a GenericUDF that accepts array<int>, array<array<int>> and so on (arbitrary levels of nesting).
          4. It can do short-circuit evaluations.
          Zheng Shao made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Fix Version/s 0.4.0 [ 12313714 ]
          Resolution Fixed [ 1 ]
          Zheng Shao made changes -
          Link This issue blocks HIVE-470 [ HIVE-470 ]
          Carl Steinbach made changes -
          Status Resolved [ 5 ] Closed [ 6 ]
          Gavin made changes -
          Link This issue blocks HIVE-164 [ HIVE-164 ]
          Gavin made changes -
          Link This issue is depended upon by HIVE-164 [ HIVE-164 ]
          Gavin made changes -
          Link This issue blocks HIVE-470 [ HIVE-470 ]
          Gavin made changes -
          Link This issue is depended upon by HIVE-470 [ HIVE-470 ]

            People

            • Assignee:
              Zheng Shao
              Reporter:
              Zheng Shao
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development