?HBase?,????Scan
???????????????????,???????Java API??????:
import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.*; import org.apache.hadoop.hbase.util.Bytes; import java.io.IOException; import java.util.ArrayList; import java.util.List; public class HBasePaginationQuery { public static void main(String[] args) throws IOException { // ??HBase?? Configuration conf = HBaseConfiguration.create(); // ???? Connection connection = ConnectionFactory.createConnection(conf); Admin admin = connection.getAdmin(); // ??? TableName tableName = TableName.valueOf("your_table_name"); Table table = connection.getTable(tableName); // ?????? Scan scan = new Scan(); scan.setBatch(100); // ??????? // ???? int totalRows = 0; Listresults = new ArrayList<>(); do { // ???? ResultScanner scanner = table.getScanner(scan); try { for (Result result : scanner) { results.add(result); totalRows++; } } finally { scanner.close(); } // ?????? scan.setStartRow(Bytes.toBytes(String.format("d", totalRows))); } while (results.size() == 100); // ???? table.close(); admin.close(); connection.close(); // ???? for (Result result : results) { System.out.println(result); } } }
??????,?????????Scan
??,???????????(batch
)???,????do-while
??????,????????????????,??????????????????????,????????????????
???,??????????????????,?????????????????????