DataFrameFactory.

for_exec_def_arrow

for_exec_def_arrow(exec_def: ExecutionDefinition, label_overrides: Optional[LabelOverrides], grand_totals_position: Literal['pinnedBottom', 'pinnedTop', 'bottom', 'top'], on_execution_submitted: Optional[Callable[[Execution], None]]) -> tuple[pandas.DataFrame, DataFrameMetadata]

Creates a DataFrame from an execution definition using the Arrow IPC binary format.

Compared to for_exec_def(), this skips the page-by-page JSON deserialization and converts the result in one shot via pyarrow, which is significantly faster for large results.

Technical Arrow parameters (self_destruct, types_mapper, custom_mapping) are configured on the factory via ArrowConfig rather than per call. Pass arrow_config=ArrowConfig(...) when constructing DataFrameFactory.

Note: unlike :meth:for_exec_def, this method does not fetch result_cache_metadata from the server. <a href="/1.64/pandas/result_convertor/dataframemetadata/">DataFrameMetadata</a> does not carry a cache-metadata field today, so the returned tuple is structurally identical; if that field is added in future both paths should be kept in sync.

Requires pyarrow to be installed (pip install gooddata-pandas[arrow]).

Parameters

nametypedescription
exec_defExecutionDefinitionExecution definition.
label_overridesOptional[LabelOverrides]Label overrides for metrics and attributes.
grand_totals_positionLiteral['pinnedBottom', 'pinnedTop', 'bottom', 'top']Position where grand total rows should be placed. ``"pinnedBottom"`` and ``"bottom"`` keep totals at the end (default). ``"pinnedTop"`` and ``"top"`` move grand total rows to the beginning of the DataFrame. Subtotal rows are not repositioned. Defaults to ``"bottom"``.
on_execution_submittedOptional[Callable[[Execution], None]]Callback fired after the execution is submitted to the backend.

Returns

typedescription
tuple[pandas.DataFrame, DataFrameMetadata]Tuple[pandas.DataFrame, DataFrameMetadata]