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

Thejas M Nair commented on HIVE-14169:
--------------------------------------

[~stakiar]
Thinking some more about this, if an output format that needs width information 
is not used (such as CSV),  there are only disadvantages of using BufferedRows 
(performance and potential OOM).

I think we should make the choice of buffered vs  incremental applicable only 
when TableOutputFormat is used. In other cases, we should ignore the user 
choice and just use incremental. We would need to also update the docs to 
clarify that as part of this change.
What do you think ?


> Beeline Row printing should only calculate the width if TableOutputFormat is 
> used
> ---------------------------------------------------------------------------------
>
>                 Key: HIVE-14169
>                 URL: https://issues.apache.org/jira/browse/HIVE-14169
>             Project: Hive
>          Issue Type: Sub-task
>          Components: Beeline
>            Reporter: Sahil Takiar
>            Assignee: Sahil Takiar
>
> * When Beeline prints out a {{ResultSet}} to stdout it uses the 
> {{BeeLine.print}} method
> * This method takes the {{ResultSet}} from the completed query and uses a 
> specified {{OutputFormat}} to print the rows (by default it uses 
> {{TableOutputFormat}})
> * The {{print}} method also wraps the {{ResultSet}} into a {{Rows}} class 
> (either a {{IncrementalRows}} or a {{BufferedRows}} class)
> * The {{Rows}} class will calculate the optimal width that each row in the 
> {{ResultSet}} should be displayed with
> * However, this width is only relevant / used by {{TableOutputFormat}}
> We should modify the logic so that the width is only calculated if 
> {{TableOutputFormat}} is used. This will save CPU cycles when printing 
> records out to the user.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to