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]



 

Reply via email to