[ 
https://issues.apache.org/jira/browse/HIVE-4358?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13641328#comment-13641328
 ] 

Ashutosh Chauhan commented on HIVE-4358:
----------------------------------------

Ya, I was thinking about it. Question I wanted to know answer for is: whats the 
need for this flag? Why do we need to do different things depending on whether 
we are in mapper or reducer? Looking into it, looks like:
* in geting serde for the partition.
* in determining outputOI.
* in close(). <= this I understand the reason 
* in processOp() <= this I understand too

I don't understand how for first two points, how running in map or reduce makes 
a difference. No other operator does this. Is it implementation artifact or 
there is a fundamental reason for this?
                
> Check for Map side processing in PTFOp is no longer valid
> ---------------------------------------------------------
>
>                 Key: HIVE-4358
>                 URL: https://issues.apache.org/jira/browse/HIVE-4358
>             Project: Hive
>          Issue Type: Bug
>          Components: PTF-Windowing
>            Reporter: Harish Butani
>         Attachments: HIVE-4358.D10473.1.patch
>
>
> With the changes for ReduceSinkDedup it is no longer true that a non Map-side 
> PTF Operator is preceded by an ExtractOp. For e.g. following query can 
> produce the issue:
> {noformat}
> create view IF NOT EXISTS mfgr_price_view as 
> select p_mfgr, p_brand, 
> sum(p_retailprice) as s 
> from part 
> group by p_mfgr, p_brand;
>         
> select p_mfgr, p_brand, s, 
> sum(s) over w1  as s1
> from mfgr_price_view 
> window w1 as (distribute by p_mfgr sort by p_brand rows between 2 preceding 
> and current row);
> {noformat}
> Fix is to add an explicit flag to PTFDesc

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to