Page tree

Release 8.7



Contents:


   

For the latest updates on available API endpoints and documentation, see api.trifacta.com.

EXPERIMENTAL FEATURE: This feature is intended for demonstration purposes only. This feature may be modified or removed from the Trifacta platform without warning in a future release. It should not be deployed in a production environment.

Contents:



You can enable an API endpoint that converts the your recipe steps to generate a specific output into Python Pandas code. When executed, this generated Python Pandas code applies transformations to your specified dataset and generates the specified output. 

Alpha Release

This endpoint is the beginning of enabling the Trifacta® platform to integrate with pre-existing Python data pipelines.

This documentation provides information on how to explore the capabilities of the Trifacta platform to generate Python code for your external data pipelines. 

Enable

To enable generation of Python Pandas code, please complete the following:

Steps:

  1. You apply this change through the Workspace Settings Page. For more information, see Platform Configuration Methods.
  2. Locate the following setting and set it to Enabled:

    Wrangle to Python Conversion
  3. The feature is now enabled.

Limitations

  • This endpoint does not currently support multi-dataset operations.
  • The generated Python code does not yield readable columns in the output code.
  • Conversion of Wrangle script to Python code is supported for CSV files only.

v4 OutputObjects WrangleToPython Create

This section contains reference documentation on the API endpoint. This endpoint method is applied to a specified outputObject. This outputObject is the result of execution of a specific recipe (wrangledDataset). That recipe has references to its source importedDatasets and connections.

For more information on supported versions of the APIs, see API Version Support Matrix.

This API enables generation of Python Pandas code for the Wrangle recipe associated with an output object.

Version:  v4

 Terms...

Relevant terms:

Term Description
outputObjects An outputObject is a definition of one or more types of outputs and how they are generated. It must be associated with a recipe.

NOTE: An outputObject must be created for a recipe before you can run a job on it. One and only one outputObject can be associated with a recipe.

writeSettings A writeSettings object defines file-based outputs within an outputObject. Settings include path, format, compression, and delimiters.
publications A publications object is used to specify a table-based output and is associated with an outputObject. Settings include the connection to use, path, table type, and write action to apply.

Required Permissions

NOTE: Each request to the Trifacta® platform must include authentication credentials. See API Authentication.

Request

Request Type: POST

Endpoint:

/v4/outputObjects/<id>/wrangleToPython

Request URI - Example:

/v4/outputObjects/3/wrangleToPython

Request Body:

The following defines the running environment used for the outputObject. 

{
    "execution": "spark"
}

Response

Response Status Code - Success:  200 - OK

Response Body Example: 

The generated response is the Python Pandas code:

{
from trifacta.transform_functions.function_definitions import Replace
import pandas as pd
import numpy as np

def run_transforms(df0=None):
  if (df0 is None):
    df0 = pd.read_csv('input.csv', skip_blank_lines=False, lineterminator='\n', dtype=str, encoding='UTF-8')
  replace1 = Replace('x', 'u', False, False)
  replace2 = Replace('x', 'u', True, False)
  replace3 = Replace('x', 'u', True, True)
  replace4 = Replace('x', '\\\\', True, False)
  df3 = pd.DataFrame({'new_column1': df0['col1'].apply((lambda x: replace1.exec(x))), 'new_column2': df0['col1'].apply((lambda x: replace2.exec(x))), 'new_column3': df0['col1'].apply((lambda x: replace3.exec(x))), 'new_column4': df0['col1'].apply((lambda x: replace4.exec(x)))})
  return df3
}

Reference

For more information , see  https://api.trifacta.com/ee/8.7/index.html#operation/getPythonScriptForOutputObjectInput

This page has no comments.