data_push_job
Module to interact with data push jobs.
This module contains class to interact with a data push job in EMS data integration.
Typical usage example:
```python
data_push_job = data_pool.create_data_push_job("TABLE_NAME", JobType.REPLACE)
data_push_job.add_file_chunk(file)
data_push_job.execute()
```
DataPushJob ¶
Bases: DataPushJob
Data push job object to interact with data push job specific data integration endpoints.
upsert_strategy
class-attribute
instance-attribute
¶
fallback_varchar_length
class-attribute
instance-attribute
¶
post_execution_query
class-attribute
instance-attribute
¶
sanitized_post_execution_query
class-attribute
instance-attribute
¶
allow_duplicate
class-attribute
instance-attribute
¶
csv_parsing_options
class-attribute
instance-attribute
¶
mirror_target_names
class-attribute
instance-attribute
¶
optional_tenant_id
class-attribute
instance-attribute
¶
from_transport
classmethod
¶
Creates high-level data push job object from given DataPushJobTransport.
Parameters:
-
client
(Client
) –Client to use to make API calls for given data push job.
-
data_push_job_transport
(DataPushJob
) –DataPushJobTransport object containing properties of data push job.
Returns:
-
DataPushJob
–A DataPushJob object with properties from transport and given client.
add_file_chunk ¶
Adds file chunk to data push job.
Parameters:
-
file
(Union[BytesIO, BufferedReader]
) –File stream to be upserted within data push job.
Examples:
Create data push job to replace table:
delete_file_chunk ¶
Deletes file chunk from data push job.
Parameters:
-
file
(Union[BytesIO, BufferedReader]
) –File stream to be deleted within data push job.
Examples:
Create data push job to delete table:
add_data_frame ¶
Splits data frame into chunks of size chunk_size
and adds each chunk to data push job.
Parameters:
-
df
(DataFrame
) –Data frame to push with given data push job.
-
chunk_size
(int
, default:100000
) –Number of rows for each chunk.
-
index
(Optional[bool]
, default:False
) –Whether index is included in parquet file. See pandas documentation.
Examples:
Create data push job to replace table:
delete_data_frame ¶
Splits data frame into chunks of size chunk_size
and deletes each chunk to data push job.
Parameters:
-
df
(DataFrame
) –Data frame to push with given data push job.
-
chunk_size
(int
, default:100000
) –Number of rows for each chunk.
-
index
(Optional[bool]
, default:False
) –Whether index is included in parquet file. See pandas documentation.
Examples:
Create data push job to delete table:
get_chunks ¶
Gets all chunks of given data push job.
Returns:
-
CelonisCollection[Optional[DataPushChunk]]
–A list containing all chunks.
execute ¶
Execute given data push job.
Parameters:
-
wait
(bool
, default:True
) –If true, function only returns once data push job has been executed and raises error if reload fails. If false, function returns after triggering execution and does not raise errors in case it failed.
Raises:
-
PyCelonisDataPushJobNotNew
–Data push job has already been executed and can't be executed again.
-
PyCelonisDataPushExecutionFailedError
–Data push job execution failed. Only triggered if
wait=True
.
Examples:
Create data push job to replace table: