The SQLLine shell is a CLI utility to allow people to explore big data.. but not designed (intentionally) to print 3 million rows! The utiity tries to format the data, and has limited internal buffers.
You probably want to use a simple JDBC program to achieve the purpose of printing out the results. You can try using a program like SQuirreL to connect to Drill as well and try displaying your 3million rows. ________________________________ From: PROJJWAL SAHA <proj.s...@gmail.com> Sent: Wednesday, March 15, 2017 10:18:21 PM To: user@drill.apache.org Subject: Re: Display of query result using command line select count(<colname>) query works fine for me - it returns exact number of rows close to 3 million. The way I am executing queries is - I am doing a putty session to the drill node, firing the query and getting the result printed on the putty console. on removing extract headers from the tsv and then firing select * query, the query completed on the console but it printed close to 2 million rows - i feel that the entire process of printing such high number of rows is giving me inconsistent results. Thoughts ? Regards, Projjwal On Thu, Mar 16, 2017 at 12:04 AM, Khurram Faraaz <kfar...@mapr.com> wrote: > Three million rows is too many rows, for sqlline to print. > > Try doing a COUNT(*) and see if that query returns the correct count on > that table. > > > Thanks, > > Khurram > > ________________________________ > From: PROJJWAL SAHA <proj.s...@gmail.com> > Sent: Wednesday, March 15, 2017 7:41:00 PM > To: user@drill.apache.org > Subject: Display of query result using command line > > All, > > I am using drillconf from command line to display a query result like > select * from xxx > having 3 million rows. The screen display scrolls fast to display the > result, however, it stops after some time with this exception - > > java.lang.NegativeArraySizeException > at > org.apache.drill.exec.vector.VarCharVector$Accessor.get( > VarCharVector.java:440) > at > org.apache.drill.exec.vector.accessor.VarCharAccessor. > getBytes(VarCharAccessor.java:128) > at > org.apache.drill.exec.vector.accessor.VarCharAccessor. > getString(VarCharAccessor.java:149) > at > org.apache.drill.exec.vector.accessor.BoundCheckingAccessor.getString( > BoundCheckingAccessor.java:124) > at > org.apache.drill.jdbc.impl.TypeConvertingSqlAccessor.getString( > TypeConvertingSqlAccessor.java:649) > at > org.apache.drill.jdbc.impl.AvaticaDrillSqlAccessor.getString( > AvaticaDrillSqlAccessor.java:94) > at org.apache.calcite.avatica.AvaticaSite.get(AvaticaSite.java:352) > at > org.apache.drill.jdbc.impl.DrillResultSetImpl.getObject( > DrillResultSetImpl.java:434) > at sqlline.Rows$Row.<init>(Rows.java:157) > at sqlline.IncrementalRows.hasNext(IncrementalRows.java:63) > at > sqlline.TableOutputFormat$ResizingRowsProvider.next( > TableOutputFormat.java:87) > at sqlline.TableOutputFormat.print(TableOutputFormat.java:118) > at sqlline.SqlLine.print(SqlLine.java:1593) > at sqlline.Commands.execute(Commands.java:852) > at sqlline.Commands.sql(Commands.java:751) > at sqlline.SqlLine.dispatch(SqlLine.java:746) > at sqlline.SqlLine.begin(SqlLine.java:621) > at sqlline.SqlLine.start(SqlLine.java:375) > at sqlline.SqlLine.main(SqlLine.java:268) > > > The query shows completed in the profile. > > Any reason/suggestions on this ? > > > Regards, > > Projjwal >