pub struct LakehouseContext { /* private fields */ }Expand description
Bundles all runtime resources needed for lakehouse query execution.
This struct holds the data lake connection, metadata cache, file cache, and DataFusion runtime, providing a single context object that can be passed through the query path.
Implementations§
Source§impl LakehouseContext
impl LakehouseContext
Sourcepub async fn from_connection(
lake: Arc<DataLakeConnection>,
) -> Result<Arc<LakehouseContext>, Error>
pub async fn from_connection( lake: Arc<DataLakeConnection>, ) -> Result<Arc<LakehouseContext>, Error>
Builds a lakehouse context from an already-connected DataLakeConnection.
Runs migrate_lakehouse on the supplied connection (idempotent) and
creates the DataFusion runtime. The caller is responsible for running
migrate_db (ingestion schema) before this if both migrations are needed
— the monolith does this via connect_to_remote_data_lake.
Sourcepub async fn from_env() -> Result<Arc<LakehouseContext>, Error>
pub async fn from_env() -> Result<Arc<LakehouseContext>, Error>
Reads MICROMEGAS_SQL_CONNECTION_STRING and MICROMEGAS_OBJECT_STORE_URI, connects to the data lake, runs lakehouse migrations, and creates the runtime environment.
Sourcepub fn new(
lake: Arc<DataLakeConnection>,
runtime: Arc<RuntimeEnv>,
) -> LakehouseContext
pub fn new( lake: Arc<DataLakeConnection>, runtime: Arc<RuntimeEnv>, ) -> LakehouseContext
Creates a new lakehouse context with default-sized metadata and file caches.
Sourcepub fn with_caches(
lake: Arc<DataLakeConnection>,
runtime: Arc<RuntimeEnv>,
metadata_cache: Arc<MetadataCache>,
file_cache: Arc<FileCache>,
) -> LakehouseContext
pub fn with_caches( lake: Arc<DataLakeConnection>, runtime: Arc<RuntimeEnv>, metadata_cache: Arc<MetadataCache>, file_cache: Arc<FileCache>, ) -> LakehouseContext
Creates a new lakehouse context with custom metadata and file caches.
Sourcepub fn lake(&self) -> &Arc<DataLakeConnection>
pub fn lake(&self) -> &Arc<DataLakeConnection>
Returns the data lake connection.
Sourcepub fn metadata_cache(&self) -> &Arc<MetadataCache>
pub fn metadata_cache(&self) -> &Arc<MetadataCache>
Returns the metadata cache.
Sourcepub fn file_cache(&self) -> &Arc<FileCache>
pub fn file_cache(&self) -> &Arc<FileCache>
Returns the file cache.
Sourcepub fn reader_factory(&self) -> &Arc<ReaderFactory>
pub fn reader_factory(&self) -> &Arc<ReaderFactory>
Returns the shared ReaderFactory.
Trait Implementations§
Source§impl Clone for LakehouseContext
impl Clone for LakehouseContext
Source§fn clone(&self) -> LakehouseContext
fn clone(&self) -> LakehouseContext
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for LakehouseContext
impl !RefUnwindSafe for LakehouseContext
impl Send for LakehouseContext
impl Sync for LakehouseContext
impl Unpin for LakehouseContext
impl !UnwindSafe for LakehouseContext
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
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>
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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].