Search in sources :

Example 1 with GetRangeRequest

use of com.aliyun.openservices.ots.model.GetRangeRequest in project DataX by alibaba.

the class OtsReaderSlaveProxy method generateRequestItem.

private RequestItem generateRequestItem(OTSClientAsync ots, OTSConf conf, RowPrimaryKey begin, RowPrimaryKey end, Direction direction, List<String> columns) throws Exception {
    RangeRowQueryCriteria criteria = generateRangeRowQueryCriteria(conf.getTableName(), begin, end, direction, columns);
    GetRangeRequest request = new GetRangeRequest();
    request.setRangeRowQueryCriteria(criteria);
    OTSFuture<GetRangeResult> future = ots.getRange(request);
    return new RequestItem(criteria, future);
}
Also used : GetRangeResult(com.aliyun.openservices.ots.model.GetRangeResult) GetRangeRequest(com.aliyun.openservices.ots.model.GetRangeRequest) RangeRowQueryCriteria(com.aliyun.openservices.ots.model.RangeRowQueryCriteria)

Example 2 with GetRangeRequest

use of com.aliyun.openservices.ots.model.GetRangeRequest in project DataX by alibaba.

the class GetFirstRowPrimaryKeyCallable method call.

@Override
public RowPrimaryKey call() throws Exception {
    RowPrimaryKey ret = new RowPrimaryKey();
    GetRangeRequest request = new GetRangeRequest();
    request.setRangeRowQueryCriteria(criteria);
    GetRangeResult result = ots.getRange(request);
    List<Row> rows = result.getRows();
    if (rows.isEmpty()) {
        // no data
        return null;
    }
    Row row = rows.get(0);
    Map<String, PrimaryKeyType> pk = meta.getPrimaryKey();
    for (String key : pk.keySet()) {
        ColumnValue v = row.getColumns().get(key);
        if (v.getType() == ColumnType.INTEGER) {
            ret.addPrimaryKeyColumn(key, PrimaryKeyValue.fromLong(v.asLong()));
        } else {
            ret.addPrimaryKeyColumn(key, PrimaryKeyValue.fromString(v.asString()));
        }
    }
    return ret;
}
Also used : GetRangeResult(com.aliyun.openservices.ots.model.GetRangeResult) RowPrimaryKey(com.aliyun.openservices.ots.model.RowPrimaryKey) GetRangeRequest(com.aliyun.openservices.ots.model.GetRangeRequest) PrimaryKeyType(com.aliyun.openservices.ots.model.PrimaryKeyType) ColumnValue(com.aliyun.openservices.ots.model.ColumnValue) Row(com.aliyun.openservices.ots.model.Row)

Aggregations

GetRangeRequest (com.aliyun.openservices.ots.model.GetRangeRequest)2 GetRangeResult (com.aliyun.openservices.ots.model.GetRangeResult)2 ColumnValue (com.aliyun.openservices.ots.model.ColumnValue)1 PrimaryKeyType (com.aliyun.openservices.ots.model.PrimaryKeyType)1 RangeRowQueryCriteria (com.aliyun.openservices.ots.model.RangeRowQueryCriteria)1 Row (com.aliyun.openservices.ots.model.Row)1 RowPrimaryKey (com.aliyun.openservices.ots.model.RowPrimaryKey)1