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/03/20 00:48:57 UTC

[Hadoop Wiki] Update of "Hbase/HbaseShell" by udanax

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 udanax:
http://wiki.apache.org/hadoop/Hbase/HbaseShell

The comment on the change is:
It doesn't fit with hbase.

------------------------------------------------------------------------------
+ deleted
- = Hbase Shell Introduction =
-  * A Query Language Shell for Hadoop + Hbase 
  
- == Initial Contributor ==
- 
-  * [:udanax:Edward Yoon] (R&D center, NHN corp.)
-  
- == How to Start a Shell ==
- 
- Run the following on the command-line:
- 
- {{{
- ${HBASE_HOME}/bin/hbase shell [--help]
- Usage: ./bin/hbase shell [--master:IP_ADDRESS:PORT] [--html]
- }}}
- 
- You will be presented with the following prompt:
- 
- {{{HQL, 0.2.0 version.
- Copyright (c) 2008 by udanax, licensed to Apache Software Foundation.
- Type 'help;' for usage.
- 
- hql >}}}
- 
- All commands are terminated with a semi-colon: e.g. Type 'help;' to see list of available commands.
- ----
- = HQL =
- ==  Table of Contents ==
- 
- {{{ }}}1. [#QueryGrammars Query Grammars] [[BR]]
- {{{    }}}1.1 [#DAL Database administration language] [[BR]]
- {{{    }}}1.2 [#DDL Data definition language] [[BR]]
- {{{    }}}1.3 [#DML Data manipulation language] [[BR]]
- {{{ }}}2. [#Example Example Of HQL Uses] [[BR]]
- {{{    }}}2.1 [#Create Create the table in a Hbase] [[BR]]
- {{{    }}}2.2 [#Select Select data from a table] [[BR]]
- {{{    }}}2.3 [#Insert Insert data into a table] [[BR]]
- {{{    }}}2.4 [#Delete Delete data in a table] [[BR]]
- {{{    }}}2.5 [#Jar How to use external jars in Hbase Shell] [[BR]]
- 
- [[Anchor(QueryGrammars)]]
- == Query Grammars ==
- '''Note''' that attribute values are quoted with either single or double quotes.
- [[Anchor(DAL)]]
- === Database administration language ===
- ||<bgcolor="#ececec">'''Syntax''' ||<bgcolor="#ececec">'''Explanation''' ||
- ||Help ||<99%>'''Help''' provides information about the use of shell script.[[BR]][[BR]]~-''HELP [function_name];''-~ ||
- ||Show ||<99%>'''Show''' lists tables.[[BR]][[BR]]~-''SHOW tables;''-~ ||
- ||Describe ||'''Describe''' provides information about the columnfamilies in a table.[[BR]][[BR]]~-''DESC table_name;''-~ ||
- ||FS ||<99%>'''Filesystem''' commands.[[BR]][[BR]]~-''FS [-option] arguments...;''-~ ||
- ||JAR ||<99%>'''JAR''' syntax to run hadoop jar commands.[[BR]][[BR]]~-''JAR jarFile [mainClass] args...;''-~||
- ||Clear ||<99%>'''Clear''' the screen.[[BR]][[BR]]~-''CLEAR;''-~ ||
- ||Exit ||<99%>'''Exit''' from the current shell script.[[BR]][[BR]]~-''EXIT;''-~ ||
- 
- [[Anchor(DDL)]]
- === Data definition language ===
- Data definition langague to define data tables
- 
- ||<bgcolor="#ececec">'''Syntax''' ||<bgcolor="#ececec">'''Explanation''' ||
- ||Create ||<99%>'''Create''' a new table.[[BR]][[BR]]~-''CREATE TABLE table_name ([[BR]]{{{    }}}column_family_definition[[BR]]{{{    }}}[, column_family_spec][[BR]]{{{    }}}...[[BR]])[[BR]][[BR]]''-~'''colum_family_definition:'''~-''[[BR]]column_family_name[[BR]]{{{  }}}[MAX_VERSIONS=n][[BR]]{{{    }}}[MAX_LENGTH=n][[BR]]{{{    }}}[COMPRESSION=NONE|BLOCK|RECORD][[BR]]{{{    }}}[IN_MEMORY][[BR]]{{{    }}}[BLOOMFILTER=NONE|BLOOMFILTER|COUNTING_BLOOMFILTER|RETOUCHED_BLOOMFILTER VECTOR_SIZE=n NUM_HASH=n]''-~ ||
- ||Alter ||<99%>'''Alter''' syntax changes the structure of the specified table.[[BR]][[BR]]~-''ALTER TABLE table_name[[BR]]{{{    }}}alter_definition [, alter_definition] ...[[BR]][[BR]]''-~'''alter_definition:'''~-''[[BR]]{{{     }}}ADD column_family_definition[[BR]]{{{    }}}| ADD (column_family_definition, ...)[[BR]]{{{    }}}| DROP column_family_name[[BR]]{{{    }}}| CHANGE column_family_name column_family_definition''-~||
- ||Drop ||'''Drop''' columnfamilies in a table or tables.[[BR]][[BR]]~-''DROP [ALL|TABLE table_name1[, table_name2, ...]];''-~ ||
- ||Truncate ||'''Truncate''' cleans all data from a table. [[BR]][[BR]]~-''TRUNCATE TABLE table_name;''-~ ||
- ||Enable/Disable ||'''Enable/Disable''' table lock. [[BR]][[BR]]~-''[ENABLE|DISABLE] [ALL|table_name];''-~ ||
- 
- [[Anchor(DML)]]
- === Data manipulation language ===
- Data manipulation language to manually manipulate data on more detailed parts
- 
- ||<bgcolor="#ececec">'''Syntax''' ||<bgcolor="#ececec">'''Explanation''' ||
- ||Insert ||<99%>'''Insert''' one row into the table with a value for specified column in the table.[[BR]][[BR]]~-''INSERT INTO table_name (colmn_name, ...)[[BR]]{{{    }}}VALUES ('value', ...)[[BR]]{{{    }}}WHERE row = 'row-key'[[BR]]{{{    }}}[TIMESTAMP 'timestamp'];''-~ ||
- ||Delete ||'''Delete''' specified rows in table. [[BR]][[BR]]~-''DELETE { column_name, [, column_name] ... | COLUMNFAMILIES(column_family[, column_family] ... | *} [[BR]]{{{    }}}FROM table_name[[BR]]{{{    }}}[WHERE row = 'row-key'];''-~ ||
- ||Select ||<99%>'''Select''' syntax retrieves rows from a table.[[BR]]Several aggregate operators: COUNT()[[BR]][[BR]]~-''SELECT { column_name [, column_name] ... | expr[alias] | * }[[BR]]{{{    }}}FROM table_name[[BR]]{{{    }}}[WHERE row = 'row-key' | STARTING FROM 'row-key' [UNTIL 'stop-key']][[BR]]{{{    }}}[NUM_VERSIONS = version_count][[BR]]{{{    }}}[TIMESTAMP 'timestamp'][[BR]]{{{    }}}[LIMIT = row_count][[BR]]{{{    }}}[INTO FILE 'file_name'][[BR]][[BR]]''-~'''column_name:'''~-''[[BR]]{{{     }}}column_family_name[[BR]]{{{    }}}| column_family_name:column_label_name''-~ ||
- [[Anchor(Example)]]
- == Example Of HQL Uses ==
- [[Anchor(Create)]]
- === Create the table in a Hbase ===
- 
- {{{
- hql > help create;
- CREATE    Create tables
- 
- Syntax:
- CREATE TABLE table_name (
-         column_family_definition [, column_family_definition] ...
-         );
- column_family_definition:
-         column_family_name
-         [MAX_VERSIONS=n]
-         [MAX_LENGTH=n]
-         [COMPRESSION=NONE|RECORD|BLOCK]
-         [IN_MEMORY]
-         [BLOOMFILTER=NONE|BLOOMFILTER|COUNTING_BLOOMFILTER|RETOUCHED_BLOOMFILTER VECTOR_SIZE=n NUM_HASH=n]
- }}}
- 
- '''CREATE TABLE''' enables you to create a new table with various options for each column family.
- 
-  * ~-'''MAX_VERSIONS''' makes a table keep only the recent n versions in a cell. Its default value is 3, i.e., only the most recent 3 versions of values are stored in a cell.-~
-  * ~-'''MAX_LENGTH''' specifies the maximum size of a column value. By default, the maximum size is unlimited. It is limited only by Integer.MAX_VALUE.-~
-  * ~-'''COMPRESSION''' specifies which compression technique to use for the column family. By default, Hbase does not compress any data.-~
-  * ~-'''IN_MEMORY''' specifies whether to keep the values in the column family in-memory, or not. By default, values are not kept in-memory.-~
-  * ~-'''BLOOMFILTER''' specifies which bloom filter to use for the column family. By default, none of the bloom filters is used. You can specify the options in two ways: with '''VECTOR_SIZE''' and '''NUM_HASH''', or with '''NUM_ENTRIES'''. '''VECTOR_SIZE''' specifies the number of elements in the vector, and '''NUM_HASH''' specifies the number of hash functions to use; With '''NUM_ENTRIES''', you  specify only the approximated number of entries in the column, and '''VECTOR_SIZE''' and '''NUM_HASH''' are automatically determined.-~
- 
- {{{
- hql > CREATE TABLE movieLog_table (
-   --> year, length, inColor, studioName, vote, producer, actor);
- 
- hql > CREATE TABLE webtable (
-   --> contents in_memory max_versions=10 compression=block,
-   --> anchor max_length=256 bloomfilter=counting_bloomfilter
-   --> vector_size=1000000 num_hash=4);
- }}}
- 
- [[Anchor(Select)]]
- === Select data from a table ===
- {{{
- hql > help select;
- SELECT    Select values from tables
- 
- Syntax:
- SELECT { column_name, [, column_name] ... | expr[alias] | *} FROM table_name
-         [WHERE row='row_key' | STARTING FROM 'row-key' [UNTIL 'stop-key']]
-         [NUM_VERSIONS = version_count]
-         [TIMESTAMP 'timestamp']
-         [LIMIT = row_count]
-         [INTO FILE 'file_name'];
- }}}
- 
- '''SELECT''' retrieves a subset of data from the specified table.
- 
-  * ~-'''STARTING FROM''' returns all the rows starting from 'row-key'.-~
-  * ~-'''NUM_VERSIONS''' retrieves only the recent n versions of values in a cell.-~
-  * ~-'''TIMESTAMP''' returns only the values with the specified timestamp.-~
-  * ~-'''LIMIT''' limits the number of rows to be returned.-~ 
- 
- {{{
- hql > SELECT studioName: FROM movieLog_table WHERE row = 'Star Wars';
- 
- +----------------------------+
- | title         studioName   |
- | ========================== |
- | Star Wars     Fox          |
- +----------------------------+
- 
- Successfully print out the selected data.(0.05 sec)
- 
- hql > SELECT count(studioName:Fox) FROM movieLog_table;
- }}}
- 
- [[Anchor(Insert)]]
- === Insert data into a table ===
- {{{
- hql > help insert;
- INSERT    Insert values into tables
- 
- Syntax:
- INSERT INTO table_name
-         (colmn_name, ...) VALUES ('value', ...)
-         WHERE row='row_key' [TIMESTAMP 'timestamp'];
- 
- column_name:
-           column_family_name
-         | column_family_name:column_label_name
- }}}
- 
- '''INSERT''' inserts a set of values into a table. 
- 
-  * ~-If the specified column already exists, the new value is stored as a new version.-~
-  * ~-If '''TIMESTAMP''' is not specified for the value, the current time is used as its timestamp.-~
- 
- {{{
- hql > INSERT INTO movieLog_table (year:, length:, inColor:, studioName:, 'vote:user name', producer:, 'actor:hero')
-   --> VALUES ('1977', '124', 'true', 'Fox', '5', 'George Lucas', 'Mark Hamill')
-   --> WHERE row='Star Wars';
- }}}
- 
- [[Anchor(Delete)]]
- === Delete data in a table ===
- {{{
- hql > help delete;
- DELETE    Delete table data
- 
- Syntax:
- DELETE { column_name, [, column_name] ... | COLUMNFAMILIES(column_family[, column_family] ... | *} 
-         FROM table_name
-         [WHERE row = 'row-key'];
- }}}
- 
-  * Asterisk (*) will be delete the all in table.
-  * COLUMNFAMILIES(column_family list) will be delete the all columns in columnfamily.
-  * Specified column_name will be delete the specified column data.
- 
- {{{
- hql > DELETE actor:hero FROM movieLog_table;
- hql > DELETE actor:hero FROM movieLog_table WHERE row='Star Wars';
- hql > DELETE * FROM movieLog_table;
- }}}
- 
- [[Anchor(Jar)]]
- === How to use external jars in Hbase Shell ===
- 
- {{{
- hql > HELP JAR;
- JAR jarFile [mainClass] args...;
- ...
- 
- hql > JAR ./build/hadoop-examples.jar pi 10 10;
- }}}
-