You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Thejas M Nair (JIRA)" <ji...@apache.org> on 2016/07/06 22:50:10 UTC

[jira] [Comment Edited] (HIVE-14169) Beeline Row printing should only calculate the width if TableOutputFormat is used

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

Thejas M Nair edited comment on HIVE-14169 at 7/6/16 10:49 PM:
---------------------------------------------------------------

bq. my guess is that BufferedRows was built not only so the optimal width could be calculated, but also because there is some overhead in going to stdout for each row 
The output is extracted from Rows by the OutputFormat one row at a time, so any buffering in Row won't have an impact on how the output is written. ie, there is no benefit of buffering other than optimal width calculation. That is why I think we should skip buffering and width calculations if the OutputFormat is not TableOutputFormat.



was (Author: thejas):
bq. my guess is that BufferedRows was built not only so the optimal width could be calculated, but also because there is some overhead in going to stdout for each row 
The output is extracted from Rows by the OutputFormat, so any buffering in Row won't have an impact on how the output is written. ie, there is no benefit of buffering other than optimal width calculation. That is why I think we should skip buffering and width calculations if the OutputFormat is not TableOutputFormat.


> 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)