设置基于 AST 的过滤器用于谓词下推。
过滤器可以使用 cudf::ast::column_name_reference 通过名称引用列,即使该列不一定存在于请求的投影列中。要引用输出列索引,可以使用 cudf::ast::column_reference。
对于包含列 ["A", "B", "C", ... "X", "Y", "Z"] 的 parquet 文件,示例 1:带/不带列投影
use_columns({"A", "X", "Z"})
.
filter(operation(ast_operator::LESS, column_name_reference{
"C"}, literal{100}));
parquet_reader_options_builder & filter(ast::expression const &filter)
设置基于 AST 的过滤器用于谓词下推。
列 "C" 无需存在于输出表中。示例 2:不带列投影
filter(operation(ast_operator::LESS, column_reference{1}, literal{100}));
在此,1
将引用列 "B",因为输出将包含所有列,顺序为 ["A", ..., "Z"]。示例 3:带列投影
use_columns({"A", "Z", "X"})
.
filter(operation(ast_operator::LESS, column_reference{1}, literal{100}));
在此,1
将引用列 "Z",因为输出将包含 3 列,顺序为 ["A", "Z", "X"]。
- 参数
-
- 返回
- 用于链式调用的 this 指针
定义于文件 parquet.hpp 的 365 行。