<!-- https://mvnrepository.com/artifact/org.apache.kudu/kudu-client --> <dependency> <groupId>org.apache.kudu</groupId> <artifactId>kudu-client</artifactId> <version>1.9.0</version> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.kudu</groupId> <artifactId>kudu-spark2_2.11</artifactId> <version>1.7.0</version> </dependency>
package src.main.sample;import org.apache.kudu.ColumnSchema;import org.apache.kudu.Schema;import org.apache.kudu.client.*;import java.util.ArrayList;import java.util.List;public class SelectKuduData2{ //select * from rawdata.event_wos_p1 where user_id = -1024924858009673815; private static String tableName = "event_wos_p1"; //private static KuduClient client = new KuduClient.KuduClientBuilder("IP,IP,IP").defaultAdminOperationTimeoutMs(60000).build(); // 獲取需要查詢(xún)數(shù)據(jù)的列 private static List<String> projectColumns = new ArrayList<String>(); private static KuduTable table; private static KuduScanner.KuduScannerBuilder builder; private static KuduScanner scanner; private static KuduPredicate predicate; public static void main(String[] args) throws KuduException { try { projectColumns.add("user_id"); //字段名 projectColumns.add("day"); table = client.openTable(tableName); // 簡(jiǎn)單的讀取 newScannerBuilder(查詢(xún)表) setProjectedColumnNames(指定輸出列) build()開(kāi)始掃描// KuduScanner scanner = client.newScannerBuilder(table).setProjectedColumnNames(projectColumns).build(); builder = client.newScannerBuilder(table).setProjectedColumnNames(projectColumns); /** * 設(shè)置搜索的條件 * 如果不設(shè)置,則全表掃描 */ //select * from 表名 where user_id = xxx; long userID = 123456789; //比較方法ComparisonOp:GREATER、GREATER_EQUAL、EQUAL、LESS、LESS_EQUAL predicate = predicate.newComparisonPredicate(table.getSchema().getColumn("user_id"), KuduPredicate.ComparisonOp.EQUAL, userID); builder.addPredicate(predicate); // 開(kāi)始掃描 scanner = builder.build(); while (scanner.hasMoreRows()) { RowResultIterator results = scanner.nextRows(); // 每次從tablet中獲取的數(shù)據(jù)的行數(shù) int numRows = results.getNumRows(); System.out.println("numRows count is : " numRows); while (results.hasNext()) { RowResult result = results.next(); long user_id = result.getLong(0); int day = result.getInt(1); System.out.println("user_id is : " user_id " === day: " day ); } System.out.println("--------------------------------------"); } } catch (Exception e) { e.printStackTrace(); } finally { scanner.close(); client.close(); } }}
來(lái)源:http://www.icode9.com/content-1-194801.html
聯(lián)系客服