You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by Apache Wiki <wi...@apache.org> on 2008/08/16 23:17:10 UTC

[Hadoop Wiki] Trivial Update of "Hbase/Shell" by stack

Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Hadoop Wiki" for change notification.

The following page has been changed by stack:
http://wiki.apache.org/hadoop/Hbase/Shell

The comment on the change is:
Update help and add how to go from log date to timestamp; useful debugging

------------------------------------------------------------------------------
  
             hbase> alter 't1', {NAME => 'f1', VERSIONS => 5}
  
+  count     Count the number of rows in a table. This operation may take a LONG
+            time (Run '$HADOOP_HOME/bin/hadoop jar hbase.jar rowcount' to run a
+            counting mapreduce job). Current count is shown every 1000 rows by
+            default. Count interval may be optionally specified. Examples:
+ 
+            hbase> count 't1'
+            hbase> count 't1', 100000
+ 
   create    Create table; pass table name, a dictionary of specifications per
             column family, and optionally a dictionary of table configuration.
             Dictionaries are described below in the GENERAL NOTES section.
+            Examples:
-            For example, to create a table named 't1' with a single family named
-            'f1' with an alternate maximum number of cells, type:
  
             hbase> create 't1', {NAME => 'f1', VERSIONS => 5}
- 
-            To create a table with 'f1', 'f2', and 'f3' using all defaults:
- 
             hbase> create 't1', {NAME => 'f1'}, {NAME => 'f2'}, {NAME => 'f3'}
+            hbase> # The above in shorthand would be the following:
- 
-            or in shorthand:
- 
             hbase> create 't1', 'f1', 'f2', 'f3'
- 
+            hbase> create 't1', {NAME => 'f1', VERSIONS => 1, TTL => 2592000, \
+              BLOCKCACHE => true}
   describe  Describe the named table: e.g. "hbase> describe 't1'"
  
   delete    Put a delete cell value at specified table/row/column and optionally
@@ -73, +76 @@

  
   list      List all tables in hbase
  
-  put       Put a cell value at specified table/row/column and optionally
+  put       Put a cell 'value' at specified table/row/column and optionally
             timestamp coordinates.  To put a cell value into table 't1' at
             row 'r1' under column 'c1' marked with the time 'ts1', do:
  
@@ -93, +96 @@

             
   version   Output this HBase version
  
+ GENERAL NOTES:
+ Quote all names in the hbase shell such as table and column names.  Don't
+ forget commas delimit command parameters.  Type <RETURN> after entering a
+ command to run it.  Dictionaries of configuration used in the creation and
+ alteration of tables are ruby Hashes. They look like this:
+ 
+   {'key1' => 'value1', 'key2' => 'value2', ...}
+ 
+ They are opened and closed with curley-braces.  Key/values are delimited by
+ the '=>' character combination.  Usually keys are predefined constants such as
+ NAME, VERSIONS, COMPRESSION, etc.  Constants do not need to be quoted.  Type
+ 'Object.constants' to see a (messy) list of all constants in the environment.
+ 
+ This HBase shell is the JRuby IRB with the above HBase-specific commands added.
+ For more on the HBase Shell, see http://wiki.apache.org/hadoop/Hbase/Shell
  }}}
  
  === General Notes ===
@@ -146, +164 @@

  IRB.conf[:SAVE_HISTORY] = 100
  IRB.conf[:HISTORY_FILE] = "#{ENV['HOME']}/.irb-save-history"}}}
  
+ === Log date to timestamp ===
+ To convert the date '08/08/16 20:56:29' from an hbase log into a timestamp, do:
+ {{{hbase(main):021:0> import java.text.SimpleDateFormat
+ hbase(main):022:0> import java.text.ParsePosition
+ hbase(main):023:0> SimpleDateFormat.new("yy/MM/dd HH:mm:ss").parse("08/08/16 20:56:29", ParsePosition.new(0)).getTime()
+ => 1218920189000}}}
+ 
+ To go the other direction, do:
+ {{{hbase(main):021:0> import java.util.Date
+ hbase(main):022:0> Date.new(1218920189000).toString()
+ => "Sat Aug 16 20:56:29 UTC 2008"}}}
+ 
+ To output in a format that is exactly like hbase log format is a pain messing with SimpleDateFormat.
+