提问人:Anjali Kumari 提问时间:5/16/2023 最后编辑:General GrievanceAnjali Kumari 更新时间:5/17/2023 访问量:17
在 Java 的 Apache Arrow Flight Sql 中,第 2 行未使用 BitVector 插入
2nd row is not getting inserted with BitVector in Apache Arrow Flight Sql in Java
问:
main.java
Schema schema = new Schema(mtasks.asFlightFieldList(), metadata);
try (VectorSchemaRoot vectorSchemaRoot = VectorSchemaRoot.create(schema, rootAllocator)) {
VarCharVector idVector = (VarCharVector) vectorSchemaRoot.getVector("ID");
idVector.allocateNew(1);
idVector.set(0, mtasks.getId().getBytes(StandardCharsets.UTF_8));
BitVector bitVector = (BitVector) vectorSchemaRoot.getVector("MOPT1");
bitVector.allocateNew(1);
bitVector.setSafe(0,mtasks.getMopT1() ? 1 : 0);
bitVector.setValueCount(1);
vectorSchemaRoot.setRowCount(1);
var listener =
flightClient.startPut(FlightDescriptor.path("//" + dbSchemaName + "/" + tableName),
vectorSchemaRoot, new AsyncPutListener());
listener.putNext();
listener.completed();
listener.getResult();
}
**POJO class**
private final Map<String, ?> properties;
public mtasks(Map<String, ?> properties) {
this.properties = properties;
}
public mtasks(String ID, Boolean bitVector) {
Map<String, Object> properties = new HashMap<>();
properties.put("BITVECTOR",bitvector);
properties.put("ID", ID);
this.properties = properties;
}
public List<Field> asFlightFieldList() {
return Arrays.asList(
new Field("bitvector", new FieldType(false, new ArrowType.Bool(), null), null),
new Field("ID", new FieldType(false, new ArrowType.Utf8(), null), null));
}
我正在创建并尝试使用 Apache 箭头飞行 Sql 获取布尔类型并将数据插入数据库。vectorschemaroot
fieldvector
第 1 行正在插入,但第 2 行以此类推未插入。此外,不会出现任何错误/异常。
我尝试调试直到交易成功。listener.getResult()
答: 暂无答案
评论