Heim > Datenbank > MySQL-Tutorial > HBase-scanAPI通过scan读取表中数据

HBase-scanAPI通过scan读取表中数据

WBOY
Freigeben: 2016-06-07 15:58:22
Original
1203 Leute haben es durchsucht

直接贴代码啦 /** * * @param zkIp * @param zkPort * @param tablename * @param startRow 传null扫全表 * @param stopRow 已~结尾 * @throws Exception */public static void scanTable(String zkIp,String zkPort,String tablename,String startRow,Strin

直接贴代码啦

/**
	 * 
	 * @param zkIp
	 * @param zkPort
	 * @param tablename
	 * @param startRow   传null扫全表
	 * @param stopRow 已~结尾
	 * @throws Exception
	 */
	public static void scanTable(String zkIp,String zkPort,String tablename,String startRow,String stopRow) throws Exception {
		
		HTablePool pool;
		Configuration config = HBaseConfiguration.create();
		config.set("hbase.zookeeper.quorum",zkIp);//
		config.set("hbase.zookeeper.property.clientPort", zkPort);
		pool = new HTablePool(config, 2);
		
		HTableInterface hbTable = null;
		try {
			hbTable = pool.getTable(tablename); // 表名
			ResultScanner rs = null;
			Scan scan = new Scan();
			// scan.addColumn(Bytes.toBytes("cf1"),Bytes.toBytes("qual1"));扫某一列
			if (startRow != null) { // 设置扫描的范围
				scan.setStartRow(Bytes.toBytes(startRow));
			}
			if (stopRow != null) {
				scan.setStopRow(Bytes.toBytes(stopRow));
			}

			rs = hbTable.getScanner(scan);
			hbTable.close();
			for (Result r : rs) {// 按行去遍历
				for (KeyValue kv : r.raw()) {// 遍历每一行的各列
					StringBuffer sb = new StringBuffer()
							.append(Bytes.toString(kv.getRow())).append("\t")
							.append(Bytes.toString(kv.getFamily()))
							.append("\t")
							.append(Bytes.toString(kv.getQualifier()))
							.append("\t").append(Bytes.toString(kv.getValue()));
					System.out.println(sb.toString());
					// kv.getRow() key
					// kv.getFamily() cf1
					// kv.getQualifier() 列名
					// kv.getValue() value

				}

			}

		} catch (Exception e) {
			System.out.println(e.getMessage());
		}finally{
			pool.close();
		}
	      
	}
Nach dem Login kopieren
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage