Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Plain View
HBase >> mail # user >> undefined method `internal_command' for Shell::Formatter::Console


+
Robin Gowin 2013-04-18, 15:48
+
Jean-Marc Spaggiari 2013-04-18, 15:54
+
Robin Gowin 2013-04-18, 16:03
Copy link to this message
-
Re: undefined method `internal_command' for Shell::Formatter::Console
Interesting...

I tried the same locally and it's working fine for me.

hbase(main):010:0> uu = @hbase.table('TestAcidGuarantees', @formatter)
=> #<Hbase::Table:0x3a8cbb70
@table=#<Java::OrgApacheHadoopHbaseClient::HTable:0x6d65d417>>
hbase(main):011:0> ss = {COLUMNS => ['A']}
=> {"COLUMNS"=>["A"]}
hbase(main):012:0> uu.scan(ss)
=> {"test_row_0"=>{"A:col0"=>"timestamp=1366299718358,
value=\\x14\\xC2\\xF0\\x0...."

I did a cut&paste from what you sent and only changed the table name.

Can you try with @null instead of @formatter?

JM

2013/4/18 Robin Gowin <[EMAIL PROTECTED]>

> Hi Jean-Marc,
>
> Thanks for your quick reply. Yes I am trying to do something like that. For
> brevity I combined everything into one jruby command.
>
> My command can be split into two and I get the same error. For example,
> this shows a similar problem using the scan method:
>
> hbase(main):041:0> uu = @hbase.table('robin1', @formatter)
> => Hbase::Table - robin1
> hbase(main):042:0> ss = {COLUMNS => ['cf1']}
> => {"COLUMNS"=>["cf1"]}
> hbase(main):043:0> uu.scan(ss)
> NoMethodError: undefined method `internal_command' for
> #<Shell::Formatter::Console:0x15f6ae4d>
>
> hbase(main):044:0> scan 'robin1', ss
> ROW                                           COLUMN+CELL
>
>
>  myrow1                                       column=cf1:q1,
> timestamp=1366046037514, value=value2
>
>  myrow1                                       column=cf1:q2,
> timestamp=1366046489446, value=value2b
>
>  myrow1                                       column=cf1:q2b,
> timestamp=1366046497799, value=value2bb
>
>  myrow2                                       column=cf1:q2b,
> timestamp=1366046731281, value=value2bbce
>
>  myrow2                                       column=cf1:q2be,
> timestamp=1366046748001, value=value2bbce
>
> 2 row(s) in 0.0460 seconds
>
>
>
>
>
> On Thu, Apr 18, 2013 at 11:54 AM, Jean-Marc Spaggiari <
> [EMAIL PROTECTED]> wrote:
>
> > Hi Robin,
> >
> > I'm not sure about your command line
> > (@hbase.table('robin1',@formatter).scan({'COLUMNS' => ['cf1']}))
> >
> > Are you trying do to something like that? scan 'robin1', {COLUMNS
> > => ['cf1']}
> >
> > JM
> >
> > 2013/4/18 Robin Gowin <[EMAIL PROTECTED]>
> >
> > > This feels like a stupid mistake I'm making somewhere but I searched
> for
> > > quite a while and did not find any evidence that anybody else reported
> > this
> > > problem.
> > >
> > > I'm trying to use hbase shell to call the 'scan()' method and I keep
> > > getting the same error message. A regular scan of the table works fine.
> > >
> > > I'd appreciate any assistance.
> > >
> > > hbase(main):005:0> scan 'robin1'
> > > ROW                                           COLUMN+CELL
> > >
> > >
> > >  myrow1                                       column=cf1:q1,
> > > timestamp=1366046037514, value=value2
> > >
> > >  myrow1                                       column=cf1:q2,
> > > timestamp=1366046489446, value=value2b
> > >
> > >  myrow1                                       column=cf1:q2b,
> > > timestamp=1366046497799, value=value2bb
> > >
> > >  myrow2                                       column=cf1:q2b,
> > > timestamp=1366046731281, value=value2bbce
> > >
> > >  myrow2                                       column=cf1:q2be,
> > > timestamp=1366046748001, value=value2bbce
> > >
> > > 2 row(s) in 0.1290 seconds
> > >
> > > hbase(main):007:0> @hbase.table('robin1', @formatter).scan({'COLUMNS'
> =>
> > > ['cf1']})
> > > NoMethodError: undefined method `internal_command' for
> > > #<Shell::Formatter::Console:0x15f6ae4d>
> > >
> > > this method appears to exist
> > >
> > > [cloudera@localhost test]$ grep internal_command
> > > /usr/lib/hbase/lib/ruby/shell.rb
> > >       internal_command(command, :command, *args)
> > >     def internal_command(command, method_name= :command, *args)
> > >
> > >
> > > info about my environment:
> > >
> > > [cloudera@localhost test]$ hbase version
> > > 13/04/18 11:17:33 INFO util.VersionInfo: HBase 0.94.2-cdh4.2.0
+
Robin Gowin 2013-04-18, 16:33
+
Jean-Marc Spaggiari 2013-04-25, 13:24
+
Robin Gowin 2013-04-25, 13:34
+
Jean-Marc Spaggiari 2013-04-25, 13:40
+
Robin Gowin 2013-04-25, 15:51
+
Jean-Marc Spaggiari 2013-04-25, 15:59
+
Robin Gowin 2013-04-25, 18:00
+
Jean-Marc Spaggiari 2013-04-25, 19:58
+
Robin Gowin 2013-04-25, 20:37
+
Jean-Marc Spaggiari 2013-04-25, 21:02
+
Robin Gowin 2013-04-26, 13:41
+
Ted Yu 2013-04-18, 16:20
+
Jean-Marc Spaggiari 2013-04-18, 16:23