my Filter Expression:
expression->ToString() get this result??(predict_model != null[string])
That's how I got this expression??
auto null_expr = arrow::compute::Expression(MakeNullScalar(arrow::utf8()));
call(not_equal(field_ref("predict_model"), null_expr))
I then use this expression to filter, but end up with an empty batch
if (!dataset()->filter_.empty()) {
auto scanner_builder =
arrow::dataset::ScannerBuilder::FromRecordBatchReader(
batch_reader);
scanner_builder->Filter(dataset()->filter_expr_);
auto scanner_result = scanner_builder->Finish();
if (!scanner_result.ok()) {
res = errors::Internal(scanner_result.status().ToString());
break;
}
auto scanner = scanner_result.ValueOrDie();
auto batch_reader_result = scanner->ToRecordBatchReader();
if (!batch_reader_result.ok()) {
res = errors::Internal(batch_reader_result.status().ToString());
break;
}
batch_reader = batch_reader_result.ValueOrDie();
}
arrow_status = batch_reader->ReadNext(&batch);
batch == nullptr
Is there any other way to filter out things that are not null?
1057445597
[email protected]