Function ral::processor::evaluate_expressions¶
Defined in File LogicalProject.cpp
Function Documentation¶
-
std::vector<std::unique_ptr<ral::frame::BlazingColumn>>
ral::processor
::
evaluate_expressions
(const cudf::table_view &table, const std::vector<std::string> &expressions)¶ Evaluates multiple expressions consisting of arithmetic operations and SQL functions.
The computation of the results consist of two steps:
We evaluate all complex operations operations one by one. Complex operations are operations that can’t be mapped as f(input_table[row]) => output_table[row] for a given row in a table e.g. string functions
We batch all simple operations and evaluate all of them in a single GPU kernel call. Simple operations are operations that can be mapped as f(input_table[row]) => output_table[row] for a given row in a table e.g. arithmetic operations and cast between primitive types