{{{ #!html
HBase 進階課程
程式範例練習
}}} [wiki:NCHCCloudCourse100929_4_HBEX3 上一關 < ] 第四關 [wiki:NCHCCloudCourse100929_4_HBEX5 > 下一關] = 範例四: 掃描並印出指定的column-Qualifier 的所有列值 = {{{ #!java package org.nchc.hbase; import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.client.HTable; import org.apache.hadoop.hbase.client.Result; import org.apache.hadoop.hbase.client.ResultScanner; import org.apache.hadoop.hbase.util.Bytes; import org.apache.hadoop.util.GenericOptionsParser; public class ScanTable { static void ScanColumn(String tablename, String family, String column) { HBaseConfiguration conf = new HBaseConfiguration(); HTable table; try { table = new HTable(conf, Bytes.toBytes(tablename)); ResultScanner scanner = table.getScanner(Bytes.toBytes(family)); System.out.println("Scan the Table [" + tablename + "]'s Column => " + family + ":" + column); int i = 1; for (Result rowResult : scanner) { byte[] by = rowResult.getValue(Bytes.toBytes(family), Bytes .toBytes(column)); String str = Bytes.toString(by); System.out.println("row " + i + " is \"" + str + "\""); i++; } } catch (IOException e) { e.printStackTrace(); } } public static void main(String[] argv) { // eclipse only // String[] argt = {"ex1Table", "Detail", "c1"}; // argv = argt; String[] args = new GenericOptionsParser(new Configuration(), argv) .getRemainingArgs(); if (args.length < 3) { System.out .println("ScanColumn "); return; } ScanColumn(args[0], args[1], args[2]); } } }}} * 執行結果 {{{ Scan the Table [ex1Table]'s Column => Detail:c1 row 1 is "my value good" }}} {{{ $ bin/hadoop jar TCRCExample.jar PutData "ex1Table" "row222" "Detail" "c1" "my value better" $ bin/hadoop jar TCRCExample.jar ScanTable "ex1Table" "Detail" "c1" row 1 is "my value good" row 2 is "my value better" }}}