datafusion

Module common

Source
Expand description

re-export of datafusion_common crate

Modules§

  • A complete, safe, native Rust implementation of Apache Arrow, a cross-language development platform for in-memory data.
  • This module provides DataFusion specific casting functions that provide error handling. They are intended to “never fail” but provide an error message rather than a panic, as the corresponding kernels in arrow-rs such as as_boolean_array do.
  • Runtime configuration, via ConfigOptions
  • Common Subexpression Elimination logic implemented in CSE can be controlled with a CSEController, that defines how to eliminate common subtrees from a particular TreeNode tree.
  • Types for plan display
  • DataFusion error types
  • Options related to how files should be written
  • Functionality used both on logical and physical plans
  • WASM-compatible Instant wrapper.
  • Interval parsing logic
  • Floating point rounding mode utility library TODO: Remove this custom implementation and the “libc” dependency when floating-point rounding mode manipulation functions become available in Rust.
  • re-export of datafusion_common_runtime crate
  • ScalarValue: stores single values
  • This module provides data structures to represent statistics
  • Utility functions to make testing DataFusion based crates easier
  • TreeNode for visiting and rewriting expression and plan trees
  • This module provides the bisect function, which implements binary search.

Macros§

Structs§

  • A named reference to a qualified field in a schema.
  • Statistics for a column within a relation
  • This object encapsulates a list of functional constraints:
  • DFSchema wraps an Arrow schema and adds relation names.
  • This object defines a functional dependence in the schema. A functional dependence defines a relationship between determinant keys and dependent columns. A determinant key is a column, or a set of columns, whose value uniquely determines values of some other (dependent) columns. If two rows have the same determinant key, dependent columns in these rows are necessarily the same. If the determinant key is unique, the set of dependent columns is equal to the entire schema and the determinant key can serve as a primary key. Note that a primary key may “downgrade” into a determinant key due to an operation such as a join, and this object is used to track dependence relationships in such cases. For more information on functional dependencies, see: https://www.scaler.com/topics/dbms/functional-dependency-in-dbms/
  • This object encapsulates all functional dependencies in a given relation.
  • Instruction on how to unnest a column (mostly with a list type) such as how to name the output, and how many level it should be unnested
  • A fully resolved path to a table of the form “catalog.schema.table”
  • Statistics for a relation Fields are optional and can be inexact because the sources sometimes provide approximate estimates for performance reasons and the transformations output are not always predictable.
  • Options for unnesting a column that contains a list type, replicating values in the other, non nested rows.

Enums§

Constants§

Traits§

  • Provides schema information needed by certain methods of Expr (defined in the datafusion-common crate).
  • Define each FileType/FileCompressionType’s extension
  • Trait used to map a NativeType to a ScalarValue
  • DataFusion-specific extensions to Schema.
  • Convenience trait to convert Schema like things to DFSchema and DFSchemaRef with fewer keystrokes

Functions§

Type Aliases§