Ingest from ServiceNow as Parquet
Copy data from ServiceNow to Parquet format in Azure Data Lake Storage Gen2.
Category: Ingest to Lakehouse | Tags: Ingestion
To use this activity within the API, use an ActivityCode of SERVICENOW-BASIC-ADLS.
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",
"ServiceNowTable": "",
"DataLakeSystemFolder": "my_folder",
"DataLakeDatasetFolder": "data",
"TargetConnection": "MY-TARGET-CONN",
"DeltaSchemaName": "example_schema",
"DeltaTableName": "my_table"
}
Variable Reference
The following variables are supported:
DatabricksComputeId(Optional) - The Id of the Databricks compute resource to use to run the Notebook.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.
DataLakeDatasetFolder(Required) - Name of the folder in the Data Lake containing the dataset.DataLakeSystemFolder(Required) - Name of the parent (System) folder in the Data Lake containing the dataset.DeltaSchemaName(Optional) - The name of the Schema this transformation lives in.DeltaTableName(Optional) - The name of the Table representing this transformation.ElevateToDelta(Optional) - Ingest directly to Lakehouse TableExtractControlVariableName(Optional) - For incremental loads only, the name to assign the Extract Control variable in State Config for the ExtractControl value derived from the Extract Control Query above.ExtractControlVariableSeedValue(Optional) - The initial value to set for the Extract Control variable in State Config - this will have no impact beyond the original seeding of the Extract Control variable in State Config.FilteringQuery(Optional) - The JSON struct that defines the filtering criteria to apply.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.ServiceNowPageSize(Optional) - The page size of the ServiceNow resultset.ServiceNowTable(Required) - The name of the ServiceNow table to extract.SourceConnection(Required) - Source connection to use.TableMetadata(Optional) - Column-level documentation, tags, and key/foreign-key definitions for the produced table.TargetConnection(Optional) - Target connection to use.