Export Notebook Results to Dataverse Online (via Service Principal)
Export data from a Databricks notebook to Dataverse Online (accessed via Service Principal).
Category: Export Data from Lakehouse | Tags: Export
Run Databricks Notebook '<<NotebookPath>>' and copy results to Dataverse Online entity '<<EntityName>>'
To use this activity within the API, use an ActivityCode of DELTA-DATAVERSE.
Available Connections
SourceConnection:
TargetConnection:
Example JSON
An example of what the Task Config would look like for a task using this activity. Some of these variables would be set at the group level to avoid duplication between tasks.
{
"SourceConnection": "MY-SOURCE-CONN",
"NotebookPath": "/Users/fred.nurks@example.com/MyRepo/My Notebook",
"TargetConnection": "MY-TARGET-CONN",
"EntityName": "",
"NotebookParameters": {
"Param1": "Value1",
"Param2": "Value2"
}
}
Variable Reference
The following variables are supported:
AlternateKeyName(Optional) - Specify the alternate key name defined on your entity to upsert records.DatabricksComputeId(Optional) - The Id of the Databricks compute resource to use to run the Notebook or Query.DatabricksJobClusterSpec(Required) - JSON configuration for the job cluster. See help for examples.Show more details
Job Cluster Spec
JSON configuration for the ephemeral job cluster. A new cluster is created for each run and terminated on completion.
Required properties
- RuntimeVersion — Databricks Runtime version (e.g. "17.3")
- NodeTypeId or InstancePoolId — one must be specified
Optional properties
- NumWorkers — number of worker nodes (omit or set to 0 for single-node)
- DriverNodeTypeId — override the driver node type
- DriverInstancePoolId — use a separate pool for the driver node
- SparkVersionFull — override the full Spark version string (e.g. "17.3.x-gpu-ml-scala2.12")
- Libraries — additional libraries to install on the cluster
azure-keyvault-secrets is always installed automatically.
Example — Standard job cluster
{"RuntimeVersion": "17.3","NodeTypeId": "Standard_DS3_v2","NumWorkers": 4}Example — Using instance pools
{"RuntimeVersion": "17.3","InstancePoolId": "0101-120000-pool123","NumWorkers": 0,"Libraries": [{ "pypi": { "package": "pandas==2.0.0" } }]}DatabricksServerlessSpec(Optional) - Optional JSON configuration for serverless job runs. See help for examples.Show more details
Serverless Job Spec
Optional JSON configuration for serverless job runs. Allows specifying Python dependencies and an explicit environment version for serverless compute. All fields are optional.
Required properties
None.
Optional properties
- Libraries — list of pip requirement strings to install
- EnvironmentVersion — Databricks environment version. If omitted, Databricks uses its default.
Example — With libraries only. Will use the "default" environment
{"Libraries": ["pandas", "numpy>=1.21.0"]}Example — With libraries and a pinned environment version
{"Libraries": ["pandas==2.0.0"],"EnvironmentVersion": "5"}Notes
- The spec is only applied to serverless runs (cluster IDs starting with SERVERLESS). It is ignored for existing clusters and job clusters.
- Libraries map to environments[].spec.dependencies in the Databricks Jobs API.
DIUsToUseForCopyActivity(Optional) - Specifies the powerfulness of the copy executor. Value can be between 2 and 256. When left at default, the Data Factory dynamically applies the optimal DIU setting based on the source-sink pair and data pattern.EntityName(Required) - The name of the Dataverse entity to updateIgnoreNullValues(Optional) - Indicates whether to ignore null values from input data during write operation.Allowed values are: true, and false. - true: leave the data in the destination object unchanged when doing upsert/update operation, and insert defined default value when doing insert operation. - false: update the data in the destination object to NULL when doing upsert/update operation, and insert NULL value when doing insert operation.IsFederated(Optional) - Makes task available to other Insight Factories within this organisation.Links(Optional)MaximumNumberOfAttemptsAllowed(Optional) - The total number of times the running of this Task can be attempted.MaximumRunTimeHours(Optional) - The maximum number of hours a task run is expected to take. If a run exceeds this duration it will be flagged as stuck.MinutesToWaitBeforeNextAttempt(Optional) - If a Task run fails, the number of minutes to wait before re-attempting the Task.NotebookParameters(Optional) - Parameters for use in the Databricks Notebook. This is JSON format e.g. { "Param1": "Value1", "Param2": "Value2" }.NotebookPath(Required) - The relative path to the Databricks Notebook.SaveExportToHistory(Optional) - Save the exported data to history in the Lakehouse?SourceConnection(Required) - Source connection to use.TargetConnection(Required) - Target connection to use.WriteBehaviour(Optional) - The method of writing data to the target.