pub struct SparkRound { /* private fields */ }Expand description
Spark-compatible round expression
https://spark.apache.org/docs/latest/api/sql/index.html#round
Rounds the value of expr to scale decimal places using HALF_UP rounding mode.
Returns the same type as the input expression.
round(expr)rounds to 0 decimal places (default scale = 0)round(expr, scale)rounds toscaledecimal places- For integer types with negative scale:
round(25, -1)→30 - Uses HALF_UP rounding: 2.5 → 3, -2.5 → -3 (away from zero)
Supported types: Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Float16, Float32, Float64, Decimal32, Decimal64, Decimal128, Decimal256
Implementations§
Source§impl SparkRound
impl SparkRound
Trait Implementations§
Source§impl Debug for SparkRound
impl Debug for SparkRound
Source§impl Default for SparkRound
impl Default for SparkRound
impl Eq for SparkRound
Source§impl Hash for SparkRound
impl Hash for SparkRound
Source§impl PartialEq for SparkRound
impl PartialEq for SparkRound
Source§fn eq(&self, other: &SparkRound) -> bool
fn eq(&self, other: &SparkRound) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl ScalarUDFImpl for SparkRound
impl ScalarUDFImpl for SparkRound
Source§fn signature(&self) -> &Signature
fn signature(&self) -> &Signature
Returns a
Signature describing the argument types for which this
function has an implementation, and the function’s Volatility. Read moreSource§fn invoke_with_args(&self, args: ScalarFunctionArgs) -> Result<ColumnarValue>
fn invoke_with_args(&self, args: ScalarFunctionArgs) -> Result<ColumnarValue>
Invoke the function returning the appropriate result. Read more
Source§fn aliases(&self) -> &[String]
fn aliases(&self) -> &[String]
Returns any aliases (alternate names) for this function. Read more
Source§fn display_name(&self, args: &[Expr]) -> Result<String, DataFusionError>
fn display_name(&self, args: &[Expr]) -> Result<String, DataFusionError>
👎Deprecated since 50.0.0:
This method is unused and will be removed in a future release
Returns the user-defined display name of function, given the arguments Read more
Source§fn schema_name(&self, args: &[Expr]) -> Result<String, DataFusionError>
fn schema_name(&self, args: &[Expr]) -> Result<String, DataFusionError>
Returns the name of the column this expression would create Read more
Source§fn with_updated_config(&self, _config: &ConfigOptions) -> Option<ScalarUDF>
fn with_updated_config(&self, _config: &ConfigOptions) -> Option<ScalarUDF>
Create a new instance of this function with updated configuration. Read more
Source§fn return_field_from_args(
&self,
args: ReturnFieldArgs<'_>,
) -> Result<Arc<Field>, DataFusionError>
fn return_field_from_args( &self, args: ReturnFieldArgs<'_>, ) -> Result<Arc<Field>, DataFusionError>
What type will be returned by this function, given the arguments? Read more
Source§fn is_nullable(&self, _args: &[Expr], _schema: &dyn ExprSchema) -> bool
fn is_nullable(&self, _args: &[Expr], _schema: &dyn ExprSchema) -> bool
👎Deprecated since 45.0.0:
Use return_field_from_args instead. if you use is_nullable that returns non-nullable with return_type, you would need to switch to return_field_from_args, you might have error
Source§fn simplify(
&self,
args: Vec<Expr>,
_info: &SimplifyContext,
) -> Result<ExprSimplifyResult, DataFusionError>
fn simplify( &self, args: Vec<Expr>, _info: &SimplifyContext, ) -> Result<ExprSimplifyResult, DataFusionError>
Optionally apply per-UDF simplification / rewrite rules. Read more
Source§fn preimage(
&self,
_args: &[Expr],
_lit_expr: &Expr,
_info: &SimplifyContext,
) -> Result<PreimageResult, DataFusionError>
fn preimage( &self, _args: &[Expr], _lit_expr: &Expr, _info: &SimplifyContext, ) -> Result<PreimageResult, DataFusionError>
Returns a single contiguous preimage for this function and the specified
scalar expression, if any. Read more
Source§fn short_circuits(&self) -> bool
fn short_circuits(&self) -> bool
Returns true if some of this
exprs subexpressions may not be evaluated
and thus any side effects (like divide by zero) may not be encountered. Read moreSource§fn conditional_arguments<'a>(
&self,
args: &'a [Expr],
) -> Option<(Vec<&'a Expr>, Vec<&'a Expr>)>
fn conditional_arguments<'a>( &self, args: &'a [Expr], ) -> Option<(Vec<&'a Expr>, Vec<&'a Expr>)>
Determines which of the arguments passed to this function are evaluated eagerly
and which may be evaluated lazily. Read more
Source§fn evaluate_bounds(
&self,
_input: &[&Interval],
) -> Result<Interval, DataFusionError>
fn evaluate_bounds( &self, _input: &[&Interval], ) -> Result<Interval, DataFusionError>
Source§fn propagate_constraints(
&self,
_interval: &Interval,
_inputs: &[&Interval],
) -> Result<Option<Vec<Interval>>, DataFusionError>
fn propagate_constraints( &self, _interval: &Interval, _inputs: &[&Interval], ) -> Result<Option<Vec<Interval>>, DataFusionError>
Source§fn output_ordering(
&self,
inputs: &[ExprProperties],
) -> Result<SortProperties, DataFusionError>
fn output_ordering( &self, inputs: &[ExprProperties], ) -> Result<SortProperties, DataFusionError>
Calculates the
SortProperties of this function based on its children’s properties.Source§fn preserves_lex_ordering(
&self,
_inputs: &[ExprProperties],
) -> Result<bool, DataFusionError>
fn preserves_lex_ordering( &self, _inputs: &[ExprProperties], ) -> Result<bool, DataFusionError>
Returns true if the function preserves lexicographical ordering based on
the input ordering. Read more
Source§fn coerce_types(
&self,
_arg_types: &[DataType],
) -> Result<Vec<DataType>, DataFusionError>
fn coerce_types( &self, _arg_types: &[DataType], ) -> Result<Vec<DataType>, DataFusionError>
Coerce arguments of a function call to types that the function can evaluate. Read more
Source§fn struct_field_mapping(
&self,
_literal_args: &[Option<ScalarValue>],
) -> Option<StructFieldMapping>
fn struct_field_mapping( &self, _literal_args: &[Option<ScalarValue>], ) -> Option<StructFieldMapping>
For struct-producing functions, return how output fields map to input
arguments. This enables the optimizer to propagate orderings through
struct projections. Read more
Source§fn documentation(&self) -> Option<&Documentation>
fn documentation(&self) -> Option<&Documentation>
Returns the documentation for this Scalar UDF. Read more
Source§fn placement(&self, _args: &[ExpressionPlacement]) -> ExpressionPlacement
fn placement(&self, _args: &[ExpressionPlacement]) -> ExpressionPlacement
Returns placement information for this function. Read more
impl StructuralPartialEq for SparkRound
Auto Trait Implementations§
impl !RefUnwindSafe for SparkRound
impl !UnwindSafe for SparkRound
impl Freeze for SparkRound
impl Send for SparkRound
impl Sync for SparkRound
impl Unpin for SparkRound
impl UnsafeUnpin for SparkRound
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more