需要分三步
1 先将 列转化为 BasicArrayVector
2 然后调用 getVectorValue 取得该列第 rowIdx 行的数据
3 . 再转换 Entity[]
才能转换为 MultithreadedTableWriter::insert 能识别的格式
for (int rowIdx = 0; rowIdx < data.rows(); rowIdx++) {
List<Object> row = new ArrayList<>();
for (int k = 0; k < data.columns(); k++) {
Vector col = data.getColumn(k);
if (col instanceof BasicArrayVector){
Vector vecVal = ((BasicArrayVector)col).getVectorValue(rowIdx);
Entity[] vecValRes = new Entity[vecVal.rows()];
for (int vecValidx = 0; vecValidx < vecVal.rows(); vecValidx++) {
vecValRes[vecValidx] = vecVal.get(vecValidx);
}
row.add(vecValRes);
} else {
row.add(col.get(rowIdx));
}
}
mtwWriter.insert(row.toArray());
}