pub struct ParquetDataCatalogV2 { /* private fields */ }
Expand description
A catalog for writing data to Parquet files.
Implementations§
Source§impl ParquetDataCatalogV2
impl ParquetDataCatalogV2
Sourcepub fn new(
base_path: String,
storage_options: Option<HashMap<String, String>>,
batch_size: Option<usize>,
compression: Option<u8>,
max_row_group_size: Option<usize>,
) -> Self
pub fn new( base_path: String, storage_options: Option<HashMap<String, String>>, batch_size: Option<usize>, compression: Option<u8>, max_row_group_size: Option<usize>, ) -> Self
Create a new ParquetCatalog
with the given base path and optional parameters.
§Parameters
base_path
: The base path for the catalogstorage_options
: Optional storage configuration for cloud backendsbatch_size
: Optional batch size for processing (default: 5000)compression
: Optional compression type (0=UNCOMPRESSED, 1=SNAPPY, 2=GZIP, 3=LZO, 4=BROTLI, 5=LZ4, 6=ZSTD)max_row_group_size
: Optional maximum row group size (default: 5000)
Sourcepub fn write_quote_ticks(
&self,
data: Vec<QuoteTick>,
start: Option<u64>,
end: Option<u64>,
) -> PyResult<String>
pub fn write_quote_ticks( &self, data: Vec<QuoteTick>, start: Option<u64>, end: Option<u64>, ) -> PyResult<String>
Sourcepub fn write_trade_ticks(
&self,
data: Vec<TradeTick>,
start: Option<u64>,
end: Option<u64>,
) -> PyResult<String>
pub fn write_trade_ticks( &self, data: Vec<TradeTick>, start: Option<u64>, end: Option<u64>, ) -> PyResult<String>
Sourcepub fn write_order_book_deltas(
&self,
data: Vec<OrderBookDelta>,
start: Option<u64>,
end: Option<u64>,
) -> PyResult<String>
pub fn write_order_book_deltas( &self, data: Vec<OrderBookDelta>, start: Option<u64>, end: Option<u64>, ) -> PyResult<String>
Sourcepub fn write_bars(
&self,
data: Vec<Bar>,
start: Option<u64>,
end: Option<u64>,
) -> PyResult<String>
pub fn write_bars( &self, data: Vec<Bar>, start: Option<u64>, end: Option<u64>, ) -> PyResult<String>
Sourcepub fn write_order_book_depths(
&self,
data: Vec<OrderBookDepth10>,
start: Option<u64>,
end: Option<u64>,
) -> PyResult<String>
pub fn write_order_book_depths( &self, data: Vec<OrderBookDepth10>, start: Option<u64>, end: Option<u64>, ) -> PyResult<String>
Sourcepub fn write_mark_price_updates(
&self,
data: Vec<MarkPriceUpdate>,
start: Option<u64>,
end: Option<u64>,
) -> PyResult<String>
pub fn write_mark_price_updates( &self, data: Vec<MarkPriceUpdate>, start: Option<u64>, end: Option<u64>, ) -> PyResult<String>
Write mark price update data to Parquet files.
§Parameters
data
: Vector of mark price updates to writestart
: Optional start timestamp override (nanoseconds since Unix epoch)end
: Optional end timestamp override (nanoseconds since Unix epoch)
§Returns
Returns the path of the created file as a string.
Sourcepub fn write_index_price_updates(
&self,
data: Vec<IndexPriceUpdate>,
start: Option<u64>,
end: Option<u64>,
) -> PyResult<String>
pub fn write_index_price_updates( &self, data: Vec<IndexPriceUpdate>, start: Option<u64>, end: Option<u64>, ) -> PyResult<String>
Write index price update data to Parquet files.
§Parameters
data
: Vector of index price updates to writestart
: Optional start timestamp override (nanoseconds since Unix epoch)end
: Optional end timestamp override (nanoseconds since Unix epoch)
§Returns
Returns the path of the created file as a string.
Sourcepub fn extend_file_name(
&self,
data_cls: &str,
instrument_id: Option<String>,
start: u64,
end: u64,
) -> PyResult<()>
pub fn extend_file_name( &self, data_cls: &str, instrument_id: Option<String>, start: u64, end: u64, ) -> PyResult<()>
Extend file names in the catalog with additional timestamp information.
§Parameters
data_cls
: The data class nameinstrument_id
: Optional instrument ID filterstart
: Start timestamp (nanoseconds since Unix epoch)end
: End timestamp (nanoseconds since Unix epoch)
Sourcepub fn consolidate_catalog(
&self,
start: Option<u64>,
end: Option<u64>,
ensure_contiguous_files: Option<bool>,
) -> PyResult<()>
pub fn consolidate_catalog( &self, start: Option<u64>, end: Option<u64>, ensure_contiguous_files: Option<bool>, ) -> PyResult<()>
Consolidate all data files in the catalog within the specified time range.
§Parameters
start
: Optional start timestamp (nanoseconds since Unix epoch)end
: Optional end timestamp (nanoseconds since Unix epoch)ensure_contiguous_files
: Optional flag to ensure files are contiguous
Sourcepub fn consolidate_data(
&self,
type_name: &str,
instrument_id: Option<String>,
start: Option<u64>,
end: Option<u64>,
ensure_contiguous_files: Option<bool>,
) -> PyResult<()>
pub fn consolidate_data( &self, type_name: &str, instrument_id: Option<String>, start: Option<u64>, end: Option<u64>, ensure_contiguous_files: Option<bool>, ) -> PyResult<()>
Consolidate data files for a specific data type within the specified time range.
§Parameters
type_name
: The data type name to consolidateinstrument_id
: Optional instrument ID filterstart
: Optional start timestamp (nanoseconds since Unix epoch)end
: Optional end timestamp (nanoseconds since Unix epoch)ensure_contiguous_files
: Optional flag to ensure files are contiguous
Sourcepub fn reset_catalog_file_names(&self) -> PyResult<()>
pub fn reset_catalog_file_names(&self) -> PyResult<()>
Reset all catalog file names to their canonical form.
Sourcepub fn reset_data_file_names(
&self,
data_cls: &str,
instrument_id: Option<String>,
) -> PyResult<()>
pub fn reset_data_file_names( &self, data_cls: &str, instrument_id: Option<String>, ) -> PyResult<()>
Reset data file names for a specific data class to their canonical form.
§Parameters
data_cls
: The data class nameinstrument_id
: Optional instrument ID filter
Sourcepub fn query_files(
&self,
data_cls: &str,
instrument_ids: Option<Vec<String>>,
start: Option<u64>,
end: Option<u64>,
) -> PyResult<Vec<String>>
pub fn query_files( &self, data_cls: &str, instrument_ids: Option<Vec<String>>, start: Option<u64>, end: Option<u64>, ) -> PyResult<Vec<String>>
Query files in the catalog matching the specified criteria.
§Parameters
data_cls
: The data class name to queryinstrument_ids
: Optional list of instrument IDs to filter bystart
: Optional start timestamp (nanoseconds since Unix epoch)end
: Optional end timestamp (nanoseconds since Unix epoch)
§Returns
Returns a list of file paths matching the criteria.
Sourcepub fn get_missing_intervals_for_request(
&self,
start: u64,
end: u64,
data_cls: &str,
instrument_id: Option<String>,
) -> PyResult<Vec<(u64, u64)>>
pub fn get_missing_intervals_for_request( &self, start: u64, end: u64, data_cls: &str, instrument_id: Option<String>, ) -> PyResult<Vec<(u64, u64)>>
Get missing time intervals for a data request.
§Parameters
start
: Start timestamp (nanoseconds since Unix epoch)end
: End timestamp (nanoseconds since Unix epoch)data_cls
: The data class nameinstrument_id
: Optional instrument ID filter
§Returns
Returns a list of (start, end) timestamp tuples representing missing intervals.
Sourcepub fn query_last_timestamp(
&self,
data_cls: &str,
instrument_id: Option<String>,
) -> PyResult<Option<u64>>
pub fn query_last_timestamp( &self, data_cls: &str, instrument_id: Option<String>, ) -> PyResult<Option<u64>>
Trait Implementations§
Source§impl<'py> IntoPyObject<'py> for ParquetDataCatalogV2
impl<'py> IntoPyObject<'py> for ParquetDataCatalogV2
Source§type Target = ParquetDataCatalogV2
type Target = ParquetDataCatalogV2
Source§type Output = Bound<'py, <ParquetDataCatalogV2 as IntoPyObject<'py>>::Target>
type Output = Bound<'py, <ParquetDataCatalogV2 as IntoPyObject<'py>>::Target>
Source§fn into_pyobject(
self,
py: Python<'py>,
) -> Result<<Self as IntoPyObject<'_>>::Output, <Self as IntoPyObject<'_>>::Error>
fn into_pyobject( self, py: Python<'py>, ) -> Result<<Self as IntoPyObject<'_>>::Output, <Self as IntoPyObject<'_>>::Error>
Source§impl PyClass for ParquetDataCatalogV2
impl PyClass for ParquetDataCatalogV2
Source§impl PyClassImpl for ParquetDataCatalogV2
impl PyClassImpl for ParquetDataCatalogV2
Source§const IS_BASETYPE: bool = false
const IS_BASETYPE: bool = false
Source§const IS_SUBCLASS: bool = false
const IS_SUBCLASS: bool = false
Source§const IS_MAPPING: bool = false
const IS_MAPPING: bool = false
Source§const IS_SEQUENCE: bool = false
const IS_SEQUENCE: bool = false
Source§const IS_IMMUTABLE_TYPE: bool = false
const IS_IMMUTABLE_TYPE: bool = false
Source§type ThreadChecker = SendablePyClass<ParquetDataCatalogV2>
type ThreadChecker = SendablePyClass<ParquetDataCatalogV2>
Source§type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
Source§type BaseNativeType = PyAny
type BaseNativeType = PyAny
PyAny
by default, and when you declare
#[pyclass(extends=PyDict)]
, it’s PyDict
.fn items_iter() -> PyClassItemsIter
fn lazy_type_object() -> &'static LazyTypeObject<Self>
fn dict_offset() -> Option<isize>
fn weaklist_offset() -> Option<isize>
Source§impl PyClassNewTextSignature<ParquetDataCatalogV2> for PyClassImplCollector<ParquetDataCatalogV2>
impl PyClassNewTextSignature<ParquetDataCatalogV2> for PyClassImplCollector<ParquetDataCatalogV2>
fn new_text_signature(self) -> Option<&'static str>
Source§impl<'a, 'py> PyFunctionArgument<'a, 'py, false> for &'a ParquetDataCatalogV2
impl<'a, 'py> PyFunctionArgument<'a, 'py, false> for &'a ParquetDataCatalogV2
Source§impl<'a, 'py> PyFunctionArgument<'a, 'py, false> for &'a mut ParquetDataCatalogV2
impl<'a, 'py> PyFunctionArgument<'a, 'py, false> for &'a mut ParquetDataCatalogV2
Source§impl PyMethods<ParquetDataCatalogV2> for PyClassImplCollector<ParquetDataCatalogV2>
impl PyMethods<ParquetDataCatalogV2> for PyClassImplCollector<ParquetDataCatalogV2>
fn py_methods(self) -> &'static PyClassItems
Source§impl PyTypeInfo for ParquetDataCatalogV2
impl PyTypeInfo for ParquetDataCatalogV2
Source§fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
§fn type_object(py: Python<'_>) -> Bound<'_, PyType>
fn type_object(py: Python<'_>) -> Bound<'_, PyType>
§fn is_type_of(object: &Bound<'_, PyAny>) -> bool
fn is_type_of(object: &Bound<'_, PyAny>) -> bool
object
is an instance of this type or a subclass of this type.§fn is_exact_type_of(object: &Bound<'_, PyAny>) -> bool
fn is_exact_type_of(object: &Bound<'_, PyAny>) -> bool
object
is an instance of this type.impl DerefToPyAny for ParquetDataCatalogV2
Auto Trait Implementations§
impl Freeze for ParquetDataCatalogV2
impl !RefUnwindSafe for ParquetDataCatalogV2
impl Send for ParquetDataCatalogV2
impl Sync for ParquetDataCatalogV2
impl Unpin for ParquetDataCatalogV2
impl !UnwindSafe for ParquetDataCatalogV2
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
§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<'py, T> IntoPyObjectExt<'py> for Twhere
T: IntoPyObject<'py>,
impl<'py, T> IntoPyObjectExt<'py> for Twhere
T: IntoPyObject<'py>,
§fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>
fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>
self
into an owned Python object, dropping type information.§fn into_py_any(self, py: Python<'py>) -> Result<Py<PyAny>, PyErr>
fn into_py_any(self, py: Python<'py>) -> Result<Py<PyAny>, PyErr>
self
into an owned Python object, dropping type information and unbinding it
from the 'py
lifetime.§fn into_pyobject_or_pyerr(self, py: Python<'py>) -> Result<Self::Output, PyErr>
fn into_pyobject_or_pyerr(self, py: Python<'py>) -> Result<Self::Output, PyErr>
self
into a Python object. Read more