A workspace serves several purposes and can be used as
You can create a Workspace on the Transformations page:
Select a workspace type - not all workspace types are supported in all project workspaces. Workspace types match available transformation types. For scripting languages (Python, R, and Julia), we provide JupyterLab with the matching kernel. For SQL workspaces, you can either use Snowflake workspace or a database client of your liking (for example, Dbeaver).
Name and optionally describe the workspace:
Creating the workspace takes a few seconds, so it will take a while before it appears:
Once the workspace is ready, you’ll see it in the workspace list:
In the workspace detail, you can
To connect to a JupyterLab workspace with the associated kernel (Python, R, Julia), use the URL and the password provided in the Credentials link. Use the Connect button to directly open the JupyterLab interface:
To connect to a Snowflake workspace,
To connect to a Synapse and Redshift workspaces, you have to use your database client (we like DBeaver) and use the database options provided in the Credentials view. If the database client does not have Synapse Driver, look for Azure SQL Server.
When a workspace is created, it enters the Active state and can be used.
Workspace termination can be done manually or it is done automatically after 1 hour period of inactivity.
Inactivity is measured from the last save of any notebook in JupyterLab. When a workspace is terminated, it is switched off
and consumes no credits. A terminated workspace can be resumed. Resuming a workspace means that we restore the
last saved version of all notebooks in the home directory (
/data). We also load the current data from Input Mapping.
On a restored workspace, you’ll get
Terminating and restoring a workspace means that you’ll loose
Note: When you terminate and restore the workspace, its password changes.
When a workspace is terminated and you return to the JupyterLab interface (e.g., when you put your computer to sleep), you’ll see the following error:
Server Connection Error A connection to the Jupyter server could not be established. JupyterLab will continue trying to reconnect. Check your network connection or Jupyter server configuration.
If you see this error, please go to the list of workspaces in Keboola Connection, resume the workspace and reconnect from there.
When loading data into a workspace, you can specify entire buckets, which can be especially useful when you are not sure what tables you’ll need in your work. You can also take advantage of alias tables and prepare buckets with the tables you’ll need.
Unloading data is useful, for example, when your ad-hoc analysis leads to valuable results, or when you trained a new model which you’d like to use in transformations.
Workspaces are highly useful for developing transformations. When you configure mappings and develop a script in JupyterLab, you can use the Create Transformation button to deploy the notebook into a transformation. Please note that only input/output mapping without the actual script is copied when creating transformation from a workspace
Enter the name of the new transformation:
You can also create workspaces from transformations.
Apart from developing transformations, you can use workspaces to perform ad-hoc analysis of production data of your choice. A workspace provides you with a safe and isolated environment where you can experiment. The input mapping isolation also means that you can work on live production projects without data in the workspace constantly changing — you update them on demand by loading data into the workspace.