Error while running U-SQL Activity in Pipeline in Azure Data Factory

前端 未结 3 557
囚心锁ツ
囚心锁ツ 2020-12-18 13:33

I am getting following error while running a USQL Activity in the pipeline in ADF:

Error in Activity:

{\"error         


        
相关标签:
3条回答
  • 2020-12-18 14:10

    I had a similary issue, where Azure Data Factory would not recognize my script files. A way to avoid the whole issue, while not having to paste a lot of code, is to register a stored procedure. You can do it like this:

    DROP PROCEDURE IF EXISTS master.dbo.sp_test;
    CREATE PROCEDURE master.dbo.sp_test() 
    AS  
    BEGIN 
    
    @searchlog =
    EXTRACT UserId          int,
            Start           DateTime,
            Region          string,
            Query           string,
            Duration        int?,
            Urls            string,
            ClickedUrls     string
    FROM @in
    USING Extractors.Text(delimiter:'|');
    
    @rs1 =
        SELECT Start, Region, Duration
        FROM @searchlog
    WHERE Region == "kota";
    
    
    OUTPUT @rs1   
        TO @out
          USING Outputters.Text(delimiter:'|');
    END;
    

    After running this, you can use

    "script": "master.dbo.sp_test()"
    

    in your JSON pipeline definition. Whenever you update the U-SQL script, simply re-run the definition of the procedure. Then there will be no need to copy script files to Blob Storage.

    0 讨论(0)
  • 2020-12-18 14:14

    Your script is missing the scriptLinkedService attribute. You also (currently) need to place the U-SQL script in Azure Blob Storage to run it successfully. Therefore you also need an AzureStorage Linked Service, for example:

    {
        "name": "StorageLinkedService",
        "properties": {
            "description": "",
            "type": "AzureStorage",
            "typeProperties": {
                "connectionString": "DefaultEndpointsProtocol=https;AccountName=myAzureBlobStorageAccount;AccountKey=**********"
            }
        }
    }
    

    Create this linked service, replacing the Blob storage name myAzureBlobStorageAccount with your relevant Blob Storage account, then place the U-SQL script (SearchLogProcessing.txt) in a container there and try again. In my example pipeline below, I have a container called adlascripts in my Blob store and the script is in there:

    Make sure the scriptPath is complete, as Alexandre mentioned. Start of the pipeline:

    {
        "name": "ComputeEventsByRegionPipeline",
        "properties": {
            "description": "This is a pipeline to compute events for en-gb locale and date less than 2012/02/19.",
            "activities": [
                {
                    "type": "DataLakeAnalyticsU-SQL",
                    "typeProperties": {
                        "scriptPath": "adlascripts\\SearchLogProcessing.txt",
                        "scriptLinkedService": "StorageLinkedService",
                        "degreeOfParallelism": 3,
                        "priority": 100,
                        "parameters": {
                            "in": "/input/SearchLog.tsv",
                            "out": "/output/Result.tsv"
                        }
                    },
    ...
    

    The input and output .tsv files can be in the data lake and use the the AzureDataLakeStoreLinkedService linked service.

    I can see you are trying to follow the demo from: https://docs.microsoft.com/en-us/azure/data-factory/data-factory-usql-activity#script-definition. It is not the most intuitive demo and there seem to be some issues like where is the definition for StorageLinkedService?, where is SearchLogProcessing.txt? OK I found it by googling but there should be a link in the webpage. I got it to work but felt a bit like Harry Potter in the Half-Blood Prince.

    0 讨论(0)
  • 2020-12-18 14:14

    Remove the script attribute in your U-SQL activity definition and provide the complete path to your script (including filename) in the scriptPath attribute.

    Reference: https://docs.microsoft.com/en-us/azure/data-factory/data-factory-usql-activity

    0 讨论(0)
提交回复
热议问题