[jira] [Created] (HIVE-20178) LIKE function usage not same as found in 'describe function LIKE;'

2018-07-15 Thread Abhijit Das (JIRA)
Abhijit Das created HIVE-20178:
--

 Summary: LIKE function usage not same as found in 'describe 
function LIKE;'
 Key: HIVE-20178
 URL: https://issues.apache.org/jira/browse/HIVE-20178
 Project: Hive
  Issue Type: Bug
  Components: Documentation
Reporter: Abhijit Das


LIKE function usage is not correctly shown inĀ 'describe function LIKE;'

hive (default)> describe function LIKE;
OK
LIKE(str, pattern) - Checks if str matches pattern
Time taken: 0.033 seconds, Fetched: 1 row(s)

AS PER DESCRIPTION, USAGE DOESN'T WORK:
hive (default)> select LIKE('Hope Jenny has solved the clustering problem by 
now', '%Jenny%');
FAILED: ParseException line 1:11 cannot recognize input near 'LIKE' '(' ''Hope 
Jenny has solved the clustering problem by now'' in expression specifica
tion

+CORRECT USAGE SHOULD BE:+
hive (default)> select 'Hope Jenny has solved the clustering problem by now' 
LIKE '%Jenny%';
OK
true
Time taken: 0.476 seconds, Fetched: 1 row(s)

+PLEASE MODIFY THE DESCRIPTION/DOC AS PER BELOW:+
(str LIKE pattern) - Checks if str matches pattern
Example:
select LIKE('Hope Jenny has solved the clustering problem by now', '%Jenny%');



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (HIVE-20177) Vectorization: Reduce KeyWrapper allocation in GroupBy Streaming mode

2018-07-15 Thread Gopal V (JIRA)
Gopal V created HIVE-20177:
--

 Summary: Vectorization: Reduce KeyWrapper allocation in GroupBy 
Streaming mode
 Key: HIVE-20177
 URL: https://issues.apache.org/jira/browse/HIVE-20177
 Project: Hive
  Issue Type: Bug
  Components: Vectorization
Reporter: Gopal V


The streaming mode for VectorGroupBy allocates a large number of arrays due to 
VectorKeyHashWrapper::duplicateTo()

Since the vectors can't be mutated in-place while a single batch is being 
processed, this operation can be cut by 1000x by allocating a streaming key at 
the end of the loop, instead of reallocating within the loop.

{code}
  for(int i = 0; i < batch.size; ++i) {
if (!batchKeys[i].equals(streamingKey)) {
  // We've encountered a new key, must save current one
  // We can't forward yet, the aggregators have not been evaluated
  rowsToFlush[flushMark] = currentStreamingAggregators;
  if (keysToFlush[flushMark] == null) {
keysToFlush[flushMark] = (VectorHashKeyWrapper) 
streamingKey.copyKey();
  } else {
streamingKey.duplicateTo(keysToFlush[flushMark]);
  }

  currentStreamingAggregators = 
streamAggregationBufferRowPool.getFromPool();
  batchKeys[i].duplicateTo(streamingKey);
  ++flushMark;
}
{code}

The duplicateTo can be pushed out of the loop since there only one to truly 
keep a copy of is the last unique key in the VRB.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)