kudu java_Kudu Java API 条件查询

org.apache.kudu

kudu-client

1.9.0

test

org.apache.kudu

kudu-spark2_2.11

1.7.0

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();

// 获取需要查询数据的列

private static List projectColumns = new ArrayList();

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);

// 简单的读取 newScannerBuilder(查询表) setProjectedColumnNames(指定输出列) build()开始扫描

// KuduScanner scanner = client.newScannerBuilder(table).setProjectedColumnNames(projectColumns).build();

builder = client.newScannerBuilder(table).setProjectedColumnNames(projectColumns);

/**

* 设置搜索的条件

* 如果不设置,则全表扫描

*/

//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);

// 开始扫描

scanner = builder.build();

while (scanner.hasMoreRows())

{

RowResultIterator results = scanner.nextRows();

// 每次从tablet中获取的数据的行数

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();

}

}

}来源:http://www.icode9.com/content-1-194801.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值