[jira] [Created] (HIVE-20178) LIKE function usage not same as found in 'describe function LIKE;'
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
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)