|
|
|
|
|
by asavinov
1608 days ago
|
|
Having Python expressions within a declarative language is a really good idea because we can combine low level logic of computations of values with high level logic of set processing. A similar approach is implemented in the Prosto data processing toolkit: https://github.com/asavinov/prosto Although Prosto is viewed as an alternative to Map-Reduce by relying on functions, it also supports Python User-Defined Functions in its Column-SQL: prosto.column_sql(
"CALCULATE Sales(quantity, price) -> amount",
lambda x: x["quantity"] * x["price"]
)
In this Column-SQL statement we define a new calculated column the values of which are computed in Python (as a sum of two columns). An advantage is that we can process data in multiple tables without joins or groupbys which is much easier than in the existing set-oriented approaches. Another advantage is that we can combine many statements by defining a workflow in an Excel-like manner. |
|