Azure Databricks Synapse Connectivity

Sahar Mostafa 26 Reputation points Microsoft Employee
2021-03-29T20:30:55.797+00:00

We are trying to use PolyBase in Azure Data Factory to copy the Delta lake table to Synapse. Using a simple Copy Activity in Azure Data Factory, our linked Services connections from Delta lake and Synapse show connection is successful, yet the copy step is failing: Error code 2200 Troubleshooting guide Failure type User configuration issue Details ErrorCode=AzureDatabricksCommandError,Hit an error when running the command in Azure Databricks. Error details: Failure to initialize configuration.

Azure Databricks
Azure Databricks
An Apache Spark-based analytics platform optimized for Azure.
2,514 questions
{count} vote

Accepted answer
  1. KranthiPakala-MSFT 46,642 Reputation points Microsoft Employee Moderator
    2021-04-01T16:17:47.05+00:00

    Hi there,

    As per the offline discussion, adding the the storage access key on the Databricks cluster as part of Apache Spark configuration resolved the issue. This has been called out in the Prerequisite section of this doc: Copy data to and from Azure Databricks Delta Lake by using Azure Data Factory

    83743-image.png

    83660-image.png

    Hope this helps anyone who experience similar issue.

    ----------

    Please don’t forget to Accept Answer and Up-Vote wherever the information provided helps you, this can be beneficial to other community members.

    1 person found this answer helpful.

3 additional answers

Sort by: Most helpful
  1. brajesh jaishwal 26 Reputation points
    2021-05-26T16:30:02.147+00:00

    fs.azure.account.oauth2.client.id <<client id>>
    fs.azure.account.oauth.provider.type org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider
    fs.azure.account.oauth2.client.endpoint https://login.microsoftonline.com/<<tenent id>>/oauth2/token
    spark.databricks.delta.preview.enabled true
    fs.azure.account.key.<<account name>>.blob.core.windows.net <<storage key>>
    fs.azure.account.auth.type OAuth
    fs.azure.account.oauth2.client.secret <<client secret>>

    This worked for me, passthrough has many limitations, way to go is service principal or managed identity (in preview to date). Your SPN should have appropriate storage permissions (contributor) to read/write.

    1 person found this answer helpful.
    0 comments No comments

  2. Irfan Maroof 1 Reputation point
    2021-05-07T15:04:10.807+00:00

    I am getting the same error and i can preview the data but when i am running the pipeline it will throw this error.

    Failure type
    User configuration issue
    Details
    ErrorCode=AzureDatabricksCommandError,Hit an error when running the command in Azure Databricks. Error details: Failure to initialize configuration.

    I have set up the following the configurations.

    spark.databricks.delta.autoCompact.enabled true
    spark.databricks.delta.optimizeWrite.enabled true

    In addition i have also added my ADLS Gen 2 key in spark configurations.

    Do we know what else need as pre requisite ?

    0 comments No comments

  3. brajesh jaishwal 26 Reputation points
    2021-05-19T07:48:36.52+00:00

    1+ to IrfanMaroof-7597,
    I am getting this error:
    Error code
    2200
    Troubleshooting guide
    Failure type
    User configuration issue
    Details
    ErrorCode=AzureDatabricksCommandError,Hit an error when running the command in Azure Databricks. Error details: com.databricks.backend.daemon.data.client.adl.AzureCredentialNotFoundException: Could not find ADLS Gen2 Token.

    run id: 7cbe179d-39d7-450f-9a2d-b0485a9e441e

    spark conf:
    spark.hadoop.fs.azure.account.key.<data lake account name>.dfs.core.windows.net <data lake account key>
    spark.databricks.delta.optimizeWrite.enabled true
    spark.databricks.delta.autoCompact.enabled true
    spark.databricks.delta.preview.enabled true
    spark.databricks.passthrough.enabled true

    What else need to do ??

    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.