中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

做音響的是哪個(gè)網(wǎng)站南昌搜索引擎優(yōu)化

做音響的是哪個(gè)網(wǎng)站,南昌搜索引擎優(yōu)化,wordpress調(diào)用大類(lèi)下的分類(lèi)列表,圓通快遞歸郵政局管嗎創(chuàng)建一個(gè)學(xué)生信息表,用來(lái)存儲(chǔ)學(xué)生的姓名(姓名作為行鍵,且假設(shè)姓名不會(huì)重復(fù))以及考試成績(jī),其中考試成績(jī)(score)是一個(gè)列族,存儲(chǔ)了各個(gè)科目的考試成績(jī)。然后向student中添加數(shù)據(jù) 1、HB…

創(chuàng)建一個(gè)學(xué)生信息表,用來(lái)存儲(chǔ)學(xué)生的姓名(姓名作為行鍵,且假設(shè)姓名不會(huì)重復(fù))以及考試成績(jī),其中考試成績(jī)(score)是一個(gè)列族,存儲(chǔ)了各個(gè)科目的考試成績(jī)。然后向student中添加數(shù)據(jù)

1、HBase依賴(lài)

<dependency><groupId>org.apache.hbase</groupId><artifactId>hbase-server</artifactId><version>2.2.0</version>
</dependency>
<dependency><groupId>org.apache.hbase</groupId><artifactId>hbase-client</artifactId><version>2.2.0</version>
</dependency>

2、HBase數(shù)據(jù)源

package com.example.demo.config;import com.example.demo.service.ICodeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;import java.util.HashMap;
import java.util.List;
import java.util.Map;@Component
@Order(1) 
public class NmsHBaseSource implements ApplicationRunner {// 管理HBase的配置信息public static Configuration conf;// 管理HBase的連接public static Connection conn;// 管理HBase數(shù)據(jù)庫(kù)的連接public static Admin admin;@Overridepublic void run(ApplicationArguments args) throws Exception {conf = HBaseConfiguration.create();System.setProperty("HADOOP_USER_NAME", "hadoop");conf.set("HADOOP_USER_NAME", "hadoop");conf.set("hbase.root.dir", "hdfs://master:9000/hbase");conf.set("hbase.zookeeper.quorum", "master");//配置Zookeeper的ip地址conf.set("hbase.zookeeper.property.clientPort", "2181");//配置zookeeper的端口conn = ConnectionFactory.createConnection(conf);admin = conn.getAdmin();}/*** 關(guān)閉所有連接** @throws IOException 可能出現(xiàn)的異常*/public static void close() throws IOException {if (admin != null)admin.close();if (conn != null)conn.close();}/*** 創(chuàng)建表* @param myTableName 表名* @param colFamily 列族名的數(shù)組* @throws IOException 可能出現(xiàn)的異常*/public static void createTable(String myTableName, String[] colFamily) throws IOException {TableName tableName = TableName.valueOf(myTableName);if (admin.tableExists(tableName)) {logger.info(myTableName + "表已經(jīng)存在");} else {//HTableDescriptor hTableDescriptor = new HTableDescriptor(tableName);//for (String str : colFamily) {// HColumnDescriptor hColumnDescriptor = new HColumnDescriptor(str);// hTableDescriptor.addFamily(hColumnDescriptor);//}//admin.createTable(hTableDescriptor);TableDescriptorBuilder tableDescriptor = TableDescriptorBuilder.newBuilder(tableName);    for (String str : colFamily) {ColumnFamilyDescriptor columnFamily = ColumnFamilyDescriptorBuilder.newBuilder(Bytes.toBytes(str)).build();// 構(gòu)建列族對(duì)象                 tableDescriptor.setColumnFamily(columnFamily); // 設(shè)置列族}admin.createTable(tableDescriptor.build()); // 創(chuàng)建表}}/*** 添加數(shù)據(jù)* @param tableName 表名* @param rowkey 行鍵* @param colFamily 列族* @param col 列* @param value 值* @throws IOException 可能出現(xiàn)的異常*/public static void insertData(String tableName,String rowkey,String colFamily,String col,String value) throws IOException {Table table = conn.getTable(TableName.valueOf(tableName));Put put = new Put(rowkey.getBytes());put.addColumn(colFamily.getBytes(),col.getBytes(),value.getBytes());table.put(put);table.close();}/*** 根據(jù)行鍵刪除數(shù)據(jù)* @param tableName 表名* @param rowkey 行鍵* @throws IOException 可能出現(xiàn)的異常*/public static void deleteData(String tableName,String rowkey) throws IOException {Table table = conn.getTable(TableName.valueOf(tableName));Delete delete = new Delete(rowkey.getBytes());table.delete(delete);table.close();}/*** 獲取數(shù)據(jù)* @param tableName 表名* @param rowkey 行鍵* @param colFamily 列族* @param col 列* @throws IOException 可能出現(xiàn)的異常*/public static void getData(String tableName,String rowkey,String colFamily,String col) throws IOException {Table table = conn.getTable(TableName.valueOf(tableName));Get get = new Get(rowkey.getBytes());get.addColumn(colFamily.getBytes(),col.getBytes());Result result = table.get(get);System.out.println(new String(result.getValue(colFamily.getBytes(),col.getBytes())));table.close();}public static void main(String[] args) throws IOException {init();createTable("student",new String[]{"score"});insertData("student","zhangsan","score","English","69");insertData("student","zhangsan","score","Math","86");insertData("student","zhangsan","score","Computer","77");getData("student","zhangsan","score","Computer");close();}
}

3、Hbase過(guò)濾器查詢(xún)

過(guò)濾器可以分為兩種:比較過(guò)濾器和專(zhuān)用過(guò)濾器

比較過(guò)濾器?

LESS?—— 小于

LESS_OR_EQUAL?—— 小于等于

EQUAL?—— 等于

NOT_EQUAL?—— 不等于

GREATER_OR_EQUAL?—— 大于等于

GREATER?—— 大于

NO_OP?—— 排除所有

專(zhuān)用過(guò)濾器

BinaryComparator?—— 匹配完整字節(jié)數(shù)組,Bytes.compareTo(byte[])

BinaryPrefixComparator?—— 匹配字節(jié)數(shù)組前綴
NullComparator?—— 判斷給定的是否為空
BitComparator?—— 按位比較
RegexStringComparator?—— 提供一個(gè)正則的比較器,僅支持 EQUAL 和非EQUAL
SubstringComparator?—— 判斷提供的子串是否出現(xiàn)在value中

  • 3.1、ResultScanner結(jié)果處理handleResultScanner

/***	ResultScanner結(jié)果解析*/
public void handleResultScanner(ResultScanner scanner) throws IOException {//因?yàn)镽esultScanner類(lèi)繼承了迭代器//使用增強(qiáng)for循環(huán)遍歷for (Result rs : scanner) {String id = Bytes.toString(rs.getRow());System.out.println("當(dāng)前行的rowkey為:" + id);//繼續(xù)增強(qiáng)for循環(huán)得到每一行中的每一個(gè)單元格(列)//獲取一行中的所有單元格for (Cell cell : rs.listCells()) {//獲取該單元格屬于的列簇String family = Bytes.toString(CellUtil.cloneFamily(cell));//獲取該單元格的列名String colName = Bytes.toString(CellUtil.cloneQualifier(cell));//獲取該單元格的列值String value = Bytes.toString(CellUtil.cloneValue(cell));System.out.println(family + ":" + colName + "的值為:" + value);}
?String name = Bytes.toString(rs.getValue("info".getBytes(), "name".getBytes()));String age = Bytes.toString(rs.getValue("info".getBytes(), "age".getBytes()));String gender = Bytes.toString(rs.getValue("info".getBytes(), "gender".getBytes()));String clazz = Bytes.toString(rs.getValue("info".getBytes(), "clazz".getBytes()));System.out.println("學(xué)號(hào):" + id + ",姓名:" + name + ",年齡:" + age + ",性別:" + gender + ",班級(jí):" + clazz);}

3.2、rowKey過(guò)濾器RowFilter

/***  行鍵過(guò)濾器*  通過(guò)RowFilter與BinaryComparator過(guò)濾比rowKey 1500100010小的所有值出來(lái)*/
@Test
public void RowFilter1(){try {//獲取表的實(shí)例TableName students = TableName.valueOf("students");Table studentTable = conn.getTable(students);
?BinaryComparator binaryComparator = new BinaryComparator("1500100010".getBytes());
?//創(chuàng)建一個(gè)行鍵過(guò)濾器的對(duì)象RowFilter rowFilter = new RowFilter(CompareOperator.LESS, binaryComparator);
?Scan scan = new Scan();scan.setFilter(rowFilter);
?ResultScanner scanner = studentTable.getScanner(scan);handleResultScanner(scanner);
?} catch (IOException e) {e.printStackTrace();}
}

3.3、列族過(guò)濾器FamilyFilter

/*** 	通過(guò)FamilyFilter與SubstringComparator查詢(xún)列簇名包含in的所有列簇下面的數(shù)據(jù)*/
@Test
public void FamilyFilter1(){try {//獲取表的實(shí)例TableName students = TableName.valueOf("students");Table studentTable = conn.getTable(students);
?//創(chuàng)建一個(gè)比較器對(duì)象//只要列簇名中包含了in,就把該列簇下的所有列查詢(xún)出來(lái)SubstringComparator substringComparator = new SubstringComparator("in");
?//創(chuàng)建列簇過(guò)濾器FamilyFilter familyFilter = new FamilyFilter(CompareOperator.EQUAL, substringComparator);
?Scan scan = new Scan();scan.setFilter(familyFilter);
?//獲取數(shù)據(jù)ResultScanner scanner = studentTable.getScanner(scan);handleResultScanner(scanner);
?
?} catch (IOException e) {e.printStackTrace();}
}/***	通過(guò)FamilyFilter與 BinaryPrefixComparator 過(guò)濾出列簇以i開(kāi)頭的列簇下的所有數(shù)據(jù)**/
@Test
public void FamilyFilter2(){try {//獲取表的實(shí)例TableName students = TableName.valueOf("students");Table studentTable = conn.getTable(students);
?//創(chuàng)建前綴比較器BinaryPrefixComparator binaryPrefixComparator = new BinaryPrefixComparator("i".getBytes());
?//創(chuàng)建列簇過(guò)濾器FamilyFilter familyFilter = new FamilyFilter(CompareOperator.EQUAL, binaryPrefixComparator);
?Scan scan = new Scan();scan.setFilter(familyFilter);
?ResultScanner scanner = studentTable.getScanner(scan);handleResultScanner(scanner);
?} catch (IOException e) {e.printStackTrace();}
}

3.4、列過(guò)濾器QualifierFilter

/*** 通過(guò)QualifierFilter與SubstringComparator查詢(xún)列名包含ge的列的值**/
@Test
public void QualifierFilter1(){try {//獲取表的實(shí)例TableName students = TableName.valueOf("students");Table studentTable = conn.getTable(students);
?//創(chuàng)建包含比較器//age//genderSubstringComparator substringComparator = new SubstringComparator("ge");
?//創(chuàng)建一個(gè)列過(guò)濾器QualifierFilter qualifierFilter = new QualifierFilter(CompareOperator.EQUAL, substringComparator);
?Scan scan = new Scan();scan.setFilter(qualifierFilter);
?ResultScanner scanner = studentTable.getScanner(scan);handleResultScanner(scanner);
?
?} catch (IOException e) {e.printStackTrace();}
}/**** 通過(guò)QualifierFilter與SubstringComparator查詢(xún)列名包含ge的列的值*/
@Test
public void QualifierFilter2(){try {//獲取表的實(shí)例TableName students = TableName.valueOf("students");Table studentTable = conn.getTable(students);
?SubstringComparator substringComparator = new SubstringComparator("am");
?//創(chuàng)建列過(guò)濾器QualifierFilter qualifierFilter = new QualifierFilter(CompareOperator.EQUAL, substringComparator);
?Scan scan = new Scan();scan.setFilter(qualifierFilter);
?ResultScanner scanner = studentTable.getScanner(scan);handleResultScanner(scanner);
?} catch (IOException e) {e.printStackTrace();}
}

3.5、列值過(guò)濾器ValueFilter

/***	通過(guò)ValueFilter與BinaryPrefixComparator過(guò)濾出所有的cell中值以 "張" 開(kāi)頭的學(xué)生*/
@Test
public void ValueFilter1() {try {//獲取表的實(shí)例TableName students = TableName.valueOf("students");Table studentTable = conn.getTable(students);
?//創(chuàng)建前綴比較器BinaryPrefixComparator binaryPrefixComparator = new BinaryPrefixComparator("張".getBytes());
?//創(chuàng)建列值過(guò)濾器的對(duì)象ValueFilter valueFilter = new ValueFilter(CompareOperator.EQUAL, binaryPrefixComparator);
?Scan scan = new Scan();scan.setFilter(valueFilter);
?ResultScanner scanner = studentTable.getScanner(scan);
?//因?yàn)镽esultScanner類(lèi)繼承了迭代器//使用增強(qiáng)for循環(huán)遍歷
//            for (Result rs : scanner) {
//                String id = Bytes.toString(rs.getRow());
//                System.out.println("當(dāng)前行的rowkey為:" + id);
//                //繼續(xù)增強(qiáng)for循環(huán)得到每一行中的每一個(gè)單元格(列)
//                //獲取一行中的所有單元格
//                for (Cell cell : rs.listCells()) {
//                    //獲取該單元格屬于的列簇
//                    String family = Bytes.toString(CellUtil.cloneFamily(cell));
//                    //獲取該單元格的列名
//                    String colName = Bytes.toString(CellUtil.cloneQualifier(cell));
//                    //獲取該單元格的列值
//                    String value = Bytes.toString(CellUtil.cloneValue(cell));
//                    System.out.println(family + ":" + colName + "的值為:" + value);
//                }
//            }
?handleResultScanner(scanner);} catch (IOException e) {e.printStackTrace();}
}/***	過(guò)濾出文科的學(xué)生,只會(huì)返回以文科開(kāi)頭的數(shù)據(jù)列,其他列的數(shù)據(jù)不符合條件,不會(huì)返回*/
@Test
public void ValueFilter12(){try {//獲取表的實(shí)例HTableInterface students = conn.getTable("students");
?//創(chuàng)建正則比較器RegexStringComparator regexStringComparator = new RegexStringComparator("^文科.*");
?//創(chuàng)建列值過(guò)濾器ValueFilter valueFilter = new ValueFilter(CompareFilter.CompareOp.EQUAL, regexStringComparator);
?Scan scan = new Scan();scan.setFilter(valueFilter);
?ResultScanner scanner = students.getScanner(scan);handleResultScanner(scanner);
?
?} catch (IOException e) {e.printStackTrace();}
}

3.6、單列值過(guò)濾器 SingleColumnValueFilter

/*** 單列值過(guò)濾器* SingleColumnValueFilter會(huì)返回滿(mǎn)足條件的cell所在行的所有cell的值(即會(huì)返回一行數(shù)據(jù))** 通過(guò)SingleColumnValueFilter與查詢(xún)文科班所有學(xué)生信息*/
@Test
public void SingleColumnValueFilter(){try {//獲取表的實(shí)例TableName students = TableName.valueOf("students");Table studentTable = conn.getTable(students);
?//創(chuàng)建一個(gè)正則比較器RegexStringComparator regexStringComparator = new RegexStringComparator("^文科.*");
?//創(chuàng)建單列值過(guò)濾器對(duì)象SingleColumnValueFilter singleColumnValueFilter = new SingleColumnValueFilter("info".getBytes(),"clazz".getBytes(),CompareOperator.EQUAL,regexStringComparator);
?Scan scan = new Scan();scan.setFilter(singleColumnValueFilter);
?ResultScanner scanner = studentTable.getScanner(scan);handleResultScanner(scanner);
?
?} catch (IOException e) {e.printStackTrace();}
}

3.7、列值排除過(guò)濾器SingleColumnValueExcludeFilter

/*** 列值排除過(guò)濾器* 與SingleColumnValueFilter相反,會(huì)排除掉指定的列,其他的列全部返回** 通過(guò)SingleColumnValueExcludeFilter與BinaryComparator查詢(xún)文科一班所有學(xué)生信息,最終不返回clazz列*/
@Test
public void SingleColumnValueExcludeFilter(){try {//獲取表的實(shí)例TableName students = TableName.valueOf("students");Table studentTable = conn.getTable(students);
?//創(chuàng)建一個(gè)二進(jìn)制比較器BinaryComparator binaryComparator = new BinaryComparator("文科一班".getBytes());
?//創(chuàng)建一個(gè)列值排除過(guò)濾器SingleColumnValueExcludeFilter singleColumnValueExcludeFilter = new SingleColumnValueExcludeFilter("info".getBytes(),"clazz".getBytes(),CompareOperator.EQUAL,binaryComparator);
?Scan scan = new Scan();scan.setFilter(singleColumnValueExcludeFilter);
?ResultScanner scanner = studentTable.getScanner(scan);handleResultScanner(scanner);
?
?} catch (IOException e) {e.printStackTrace();}
}

3.8、rowKey前綴過(guò)濾器PrefixFilter

/*** rowkey前綴過(guò)濾器** 通過(guò)PrefixFilter查詢(xún)以150010008開(kāi)頭的所有前綴的rowkey*/
@Test
public void PrefixFilter(){try {//獲取表的實(shí)例TableName students = TableName.valueOf("students");Table studentTable = conn.getTable(students);
?//創(chuàng)建rowkey前綴過(guò)濾器PrefixFilter prefixFilter = new PrefixFilter("150010008".getBytes());Scan scan = new Scan();
?scan.setFilter(prefixFilter);ResultScanner scanner = studentTable.getScanner(scan);handleResultScanner(scanner);
?
?} catch (IOException e) {e.printStackTrace();}
?
}

3.9、分頁(yè)過(guò)濾器PageFilter

/*** 分頁(yè)過(guò)濾器* 分頁(yè)有兩個(gè)條件* pageNum  第幾頁(yè)* pageSize 每頁(yè)有幾條*/
@Test
public void pageFilter() throws IOException {int pageNum = 3;int pageSize = 2;/*分為兩種情況判斷:第一頁(yè)其他頁(yè)*/if (pageNum == 1){Scan scan = new Scan();//設(shè)置起始rowKeyscan.setStartRow("".getBytes());//設(shè)置最大的返回結(jié)果,返回pageSize條scan.setMaxResultSize(pageSize);//分頁(yè)過(guò)濾器PageFilter pageFilter = new PageFilter(pageSize);scan.setFilter(pageFilter);ResultScanner resultScanner = table.getScanner(scan);for (Result result : resultScanner) {byte[] row = result.getRow();System.out.println("數(shù)據(jù)的rowKey為" + Bytes.toString(row));List<Cell> cells = result.listCells();for (Cell cell : cells) {byte[] qualifier = cell.getQualifier();byte[] family = cell.getFamily();byte[] value = cell.getValue();//id列和age列是整型數(shù)據(jù)if ("f1".equals(Bytes.toString(family)) && "id".equals(Bytes.toString(qualifier)) || "age".equals(Bytes.toString(value))){System.out.println("列族為"+Bytes.toString(family)+"列名為"+Bytes.toString(qualifier)+"列值為"+Bytes.toInt(value));} else {System.out.println("列族為"+Bytes.toString(family)+"列名為"+Bytes.toString(qualifier)+"列值為"+Bytes.toString(value));}}}} else {String startRow = "";Scan scan = new Scan();/*第二頁(yè)的起始rowKey = 第一頁(yè)的結(jié)束rowKey + 1第三頁(yè)的起始rowKey = 第二頁(yè)的結(jié)束rowKey + 1*/int resultSize = (pageNum - 1) * pageSize + 1;scan.setMaxResultSize(resultSize);//設(shè)置一次性往前掃描5條,最后一個(gè)rowKey是第三頁(yè)起始rowKeyPageFilter pageFilter = new PageFilter(resultSize);scan.setFilter(pageFilter);//resultScanner里面有5條數(shù)據(jù)ResultScanner scanner = table.getScanner(scan);for (Result result : scanner) {//獲取rowKeybyte[] row = result.getRow();//最后一次循環(huán)遍歷 rowKey為0005startRow = Bytes.toString(row);}Scan scan1 = new Scan();scan1.setStartRow(startRow.getBytes());scan1.setMaxResultSize(pageSize);PageFilter pageFilter1 = new PageFilter(pageSize);scan1.setFilter(pageFilter1);ResultScanner scanner1 = table.getScanner(scan1);for (Result result : scanner1) {byte[] row = result.getRow();System.out.println("數(shù)據(jù)的rowKey為" + Bytes.toString(row));List<Cell> cells = result.listCells();for (Cell cell : cells) {// byte[] qualifier = cell.getQualifier();// byte[] family = cell.getFamily();// byte[] value = cell.getValue();String family = Bytes.toString(CellUtil.cloneFamily(cell));//獲取該單元格的列名String colName = Bytes.toString(CellUtil.cloneQualifier(cell));//獲取該單元格的列值String value = Bytes.toString(CellUtil.cloneValue(cell));//id列和age列是整型數(shù)據(jù)if ("f1".equals(Bytes.toString(family)) && "id".equals(Bytes.toString(qualifier)) || "age".equals(Bytes.toString(value))){System.out.println("列族為"+Bytes.toString(family)+"列名為"+Bytes.toString(qualifier)+"列值為"+Bytes.toInt(value));} else {System.out.println("列族為"+Bytes.toString(family)+"列名為"+Bytes.toString(qualifier)+"列值為"+Bytes.toString(value));}}}}
}

3.10、多過(guò)濾器綜合查詢(xún)FilterList

/*** 通過(guò)運(yùn)用4種比較器過(guò)濾出姓于,年紀(jì)大于23歲,性別為女,且是理科的學(xué)生。** 正則比較器   RegexStringComparator* 包含比較器   SubstringComparator* 二進(jìn)制前綴比較器   BinaryPrefixComparator* 二進(jìn)制比較器      BinaryComparator**/
@Test
public void FilterData1(){try {//獲取表的實(shí)例TableName students = TableName.valueOf("students");Table studentTable = conn.getTable(students);
?/***  第一個(gè)過(guò)濾器,過(guò)濾出是理科開(kāi)頭的班級(jí)*/RegexStringComparator regexStringComparator = new RegexStringComparator("^理科.*");//單列值過(guò)濾器SingleColumnValueFilter singleColumnValueFilter = new SingleColumnValueFilter("info".getBytes(), "clazz".getBytes(),CompareOperator.EQUAL, regexStringComparator);
?/*** 第二個(gè)過(guò)濾器,過(guò)濾出性別是女生的*/
?SubstringComparator substringComparator = new SubstringComparator("女");SingleColumnValueFilter singleColumnValueFilter1 = new SingleColumnValueFilter("info".getBytes(), "gender".getBytes(),CompareOperator.EQUAL, substringComparator);
?/*** 第三個(gè)過(guò)濾器,過(guò)濾出年齡大于23歲的*/BinaryComparator binaryComparator = new BinaryComparator("20".getBytes());SingleColumnValueFilter singleColumnValueFilter2 = new SingleColumnValueFilter("info".getBytes(), "age".getBytes(),CompareOperator.GREATER, binaryComparator);
?
?/*** 第四個(gè)過(guò)濾器,過(guò)濾出姓于的學(xué)生*/BinaryPrefixComparator binaryPrefixComparator = new BinaryPrefixComparator("于".getBytes());SingleColumnValueFilter singleColumnValueFilter3 = new SingleColumnValueFilter("info".getBytes(), "name".getBytes(),CompareOperator.EQUAL, binaryPrefixComparator);
?
?Scan scan = new Scan();
?//要想實(shí)現(xiàn)多個(gè)需求同時(shí)過(guò)濾,就需要?jiǎng)?chuàng)建多個(gè)過(guò)濾器,添加到一個(gè)過(guò)濾器列表中//然后將過(guò)濾器列表傳給掃描器scanFilterList filterList = new FilterList();filterList.addFilter(singleColumnValueFilter);filterList.addFilter(singleColumnValueFilter1);filterList.addFilter(singleColumnValueFilter2);filterList.addFilter(singleColumnValueFilter3);
?scan.setFilter(filterList);
?ResultScanner scanner = studentTable.getScanner(scan);
?handleResultScanner(scanner);
?
?} catch (IOException e) {e.printStackTrace();}
?
}/*** 	過(guò)濾出學(xué)號(hào)是以15001001開(kāi)頭的文科學(xué)生*/
@Test
public void filterData2(){try {//獲取表的實(shí)例TableName students = TableName.valueOf("students");Table studentTable = conn.getTable(students);
?/***  創(chuàng)建第一個(gè)過(guò)濾器,過(guò)濾是以15001001開(kāi)頭的rowkey*/BinaryPrefixComparator binaryPrefixComparator = new BinaryPrefixComparator("15001001".getBytes());//創(chuàng)建行鍵過(guò)濾器RowFilter rowFilter = new RowFilter(CompareOperator.EQUAL, binaryPrefixComparator);
?/*** 創(chuàng)建第二個(gè)過(guò)濾器,過(guò)濾出文科的學(xué)生*/RegexStringComparator regexStringComparator = new RegexStringComparator("^文科.*");SingleColumnValueFilter singleColumnValueFilter = new SingleColumnValueFilter("info".getBytes(), "clazz".getBytes(),CompareOperator.EQUAL,regexStringComparator);
?
?FilterList filterList = new FilterList();filterList.addFilter(rowFilter);filterList.addFilter(singleColumnValueFilter);
?Scan scan = new Scan();scan.setFilter(filterList);ResultScanner scanner = studentTable.getScanner(scan);handleResultScanner(scanner);
?} catch (IOException e) {e.printStackTrace();}
?
}

http://m.risenshineclean.com/news/63780.html

相關(guān)文章:

  • 可以做彩頁(yè)的網(wǎng)站企業(yè)品牌類(lèi)網(wǎng)站有哪些
  • 企業(yè)網(wǎng)站建設(shè)多少家如何注冊(cè)網(wǎng)址
  • 網(wǎng)站建設(shè)中的主要功能西安seo培訓(xùn)學(xué)校
  • 發(fā)新聞稿做新聞源對(duì)網(wǎng)站有啥幫助完整企業(yè)網(wǎng)站模板
  • 一家做特賣(mài)的網(wǎng)站叫什么seo站外推廣有哪些
  • 電子稅局網(wǎng)站開(kāi)發(fā)服務(wù)項(xiàng)目文檔全球搜鉆是什么公司
  • 做b2b網(wǎng)站銷(xiāo)售怎樣讓客戶(hù)找上門(mén)如何創(chuàng)建一個(gè)網(wǎng)頁(yè)
  • 誰(shuí)有做網(wǎng)站的朋友的V信怎么免費(fèi)制作網(wǎng)站
  • 公司的網(wǎng)站建設(shè)費(fèi)進(jìn)入什么科目整合營(yíng)銷(xiāo)傳播成功案例
  • 做英語(yǔ)教具的網(wǎng)站sem 優(yōu)化軟件
  • 實(shí)時(shí)街景地圖app廣東seo快速排名
  • 黃山網(wǎng)站建設(shè)jidela十大中文網(wǎng)站排名
  • 重慶地區(qū)專(zhuān)業(yè)做網(wǎng)站的公司網(wǎng)絡(luò)營(yíng)銷(xiāo)策略研究論文
  • 類(lèi)似CSDN的wordpress主題百度seo代理
  • 網(wǎng)站二級(jí)域名怎么做專(zhuān)門(mén)做推廣的軟文
  • 企業(yè)網(wǎng)站模板下載哪家公司強(qiáng)關(guān)鍵詞代發(fā)包收錄
  • 網(wǎng)站建設(shè)中素材臺(tái)州seo排名優(yōu)化
  • 如何找網(wǎng)站制作銷(xiāo)售推廣方案
  • 無(wú)錫網(wǎng)站建設(shè)mkdns如何提高自己在百度的排名
  • 網(wǎng)站建設(shè)不完整軟文推廣代理平臺(tái)
  • 做化妝品注冊(cè)和注冊(cè)的網(wǎng)站有哪些灰色行業(yè)推廣平臺(tái)
  • 移動(dòng)端網(wǎng)站和微信網(wǎng)頁(yè)設(shè)計(jì)關(guān)鍵詞挖掘排名
  • 昆明網(wǎng)站建設(shè)服務(wù)公司上海牛巨微網(wǎng)絡(luò)科技有限公司
  • 廣州優(yōu)質(zhì)網(wǎng)站建設(shè)案例百度人工客服電話(huà)24小時(shí)
  • 網(wǎng)站中英文切換代碼線(xiàn)上銷(xiāo)售方案
  • 企業(yè)網(wǎng)站的建設(shè)水平直接關(guān)系到網(wǎng)絡(luò)營(yíng)銷(xiāo)的效果java培訓(xùn)機(jī)構(gòu)
  • 創(chuàng)建網(wǎng)站app靠譜seo整站優(yōu)化外包
  • 蘭州解封最新消息seopeixun com cn
  • Wordpress 分表分庫(kù)電腦優(yōu)化大師有用嗎
  • 做網(wǎng)站的公司術(shù)語(yǔ)杭州網(wǎng)站排名seo