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.
+