milenkovicm opened a new issue, #1701:
URL: https://github.com/apache/datafusion-python/issues/1701
**Is your feature request related to a problem or challenge? Please describe
what you are trying to do.**
I would like to be able to define a python function using SQL `CREATE
FUNCTION` statement.
Something like
```rust
let sql = r#"
CREATE FUNCTION to_miles(DOUBLE)
RETURNS DOUBLE
LANGUAGE PYARROW
AS '
import pyarrow.compute as pc
conversation_rate_multiplier = 0.62137119
def to_miles(km_data):
return pc.multiply(km_data, conversation_rate_multiplier)
'
"#;
ctx.sql(sql).await?.show().await?;
ctx.sql("select double_col, to_miles(double_col) from t")
.await?
.show()
.await?;
```
**Describe the solution you'd like**
datafusion provides pluggable
`datafusion::execution::context::FunctionFactory` which could be wired to
interpret python function definitions.
we could provide column based function definitions (`LANGUAGE PYARROW`) or
row based (`LANGUAGE PYTHON`)
**Describe alternatives you've considered**
**Additional context**
- databricks has [similar
functionality](https://docs.databricks.com/aws/en/udf/unity-catalog)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]