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

Switch to Threaded View
HBase, mail # user - undefined method `internal_command' for Shell::Formatter::Console


Copy link to this message
-
Re: undefined method `internal_command' for Shell::Formatter::Console
Jean-Marc Spaggiari 2013-04-25, 13:24
Hi Robin,

Were you finally able to find the issue?

JM

2013/4/18 Robin Gowin <[EMAIL PROTECTED]>:
> same results with @null (i had earlier tried nil, same thing)
>
> hbase(main):045:0> uu = @hbase.table('robin1', @null)
> => Hbase::Table - robin1
> hbase(main):046:0> uu.scan(ss)
> NoMethodError: undefined method `internal_command' for nil:NilClass
>
> One thing I'm curious about - might not matter - the output of my
> @hbase.table command looks like this
>
> => Hbase::Table - robin1
>
> but the output of yours (and what is in the book) looks like this
>
> => #<Hbase::Table:0x3a8cbb70
>
>
>
>
> On Thu, Apr 18, 2013 at 12:17 PM, Jean-Marc Spaggiari <
> [EMAIL PROTECTED]> wrote:
>
>> 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,