Details

    • Type: Bug Bug
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: UDF
    • Labels:

      Description

      Min Zhou added a comment - 21/Jul/09 07:34 AM
      It's very useful for us .
      some comments:

      1. Can you implement it directly with Text ? Avoiding string decoding and encoding would be faster. Of course that trick may lead to another problem, as String.split uses a regular expression for splitting.
      2. getDisplayString() always return a string in lowercase.

      [ Show » ]
      Min Zhou added a comment - 21/Jul/09 07:34 AM It's very useful for us . some comments:

      1. Can you implement it directly with Text ? Avoiding string decoding and encoding would be faster. Of course that trick may lead to another problem, as String.split uses a regular expression for splitting.
      2. getDisplayString() always return a string in lowercase.

      [ Permlink | « Hide ]
      Namit Jain added a comment - 21/Jul/09 09:22 AM
      Committed. Thanks Emil
      [ Show » ]
      Namit Jain added a comment - 21/Jul/09 09:22 AM Committed. Thanks Emil

      [ Permlink | « Hide ]
      Emil Ibrishimov added a comment - 21/Jul/09 10:48 AM
      There are some easy (compromise) ways to optimize split:

      1. Check if the regex argument actually contains some "regex specific characters" and if it doesn't, do a straightforward split without converting to strings.
      2. Assume some default value for the second argument (for example - split(str) to be equivalent to split(str, ' ') and optimize for this value
      3. Have two separate split functions - one that does regex and one that splits around plain text.

      I think that 1 is a good choice and can be done rather quickly.
      [ Show » ]
      Emil Ibrishimov added a comment - 21/Jul/09 10:48 AM There are some easy (compromise) ways to optimize split: 1. Check if the regex argument actually contains some "regex specific characters" and if it doesn't, do a straightforward split without converting to strings. 2. Assume some default value for the second argument (for example - split(str) to be equivalent to split(str, ' ') and optimize for this value 3. Have two separate split functions - one that does regex and one that splits around plain text. I think that 1 is a good choice and can be done rather quickly.

      1. HIVE-664.3.patch.txt
        6 kB
        Teddy Choi
      2. HIVE-664.2.patch.txt
        6 kB
        Teddy Choi
      3. HIVE-664.1.patch.txt
        6 kB
        Teddy Choi

        Issue Links

          Activity

          Navis made changes -
          Status Patch Available [ 10002 ] Open [ 1 ]
          Teddy Choi made changes -
          Status Open [ 1 ] Patch Available [ 10002 ]
          Teddy Choi made changes -
          Attachment HIVE-664.3.patch.txt [ 12607946 ]
          Ashutosh Chauhan made changes -
          Status Patch Available [ 10002 ] Open [ 1 ]
          Teddy Choi made changes -
          Status In Progress [ 3 ] Patch Available [ 10002 ]
          Teddy Choi made changes -
          Attachment HIVE-664.2.patch.txt [ 12599136 ]
          Teddy Choi made changes -
          Attachment HIVE-664.1.patch.txt [ 12599134 ]
          Teddy Choi made changes -
          Status Open [ 1 ] In Progress [ 3 ]
          Teddy Choi made changes -
          Assignee Teddy Choi [ teddy.choi ]
          Carl Steinbach made changes -
          Labels optimization
          Component/s UDF [ 12313585 ]
          Component/s Query Processor [ 12312586 ]
          Zheng Shao made changes -
          Field Original Value New Value
          Link This issue relates to HIVE-642 [ HIVE-642 ]
          Namit Jain created issue -

            People

            • Assignee:
              Teddy Choi
              Reporter:
              Namit Jain
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:

                Development