none
Headers are repeating equal to no of files in ADLS when "firstRowAsHeader": true while copying from ADLS to OnPremises File Share

    Question

  • Pipeline:

              {
                    "type": "Copy",
                    "typeProperties": {
                        "source": {
                            "type": "AzureDataLakeStoreSource",
                            "recursive": true
                        },
                        "sink": {
                            "type": "FileSystemSink",
                            "writeBatchSize": 0,
                            "writeBatchTimeout": "00:00:00"
                        }
                    },
                    "inputs": [
                        {
                            "name": "DataSet-Output-AzureDataLakeStore-Accruals-1010"
                        }
                    ],
                    "outputs": [
                        {
                            "name": "DataSet-Accruals-Output-OnPremFileShare-1010"
                        }
                    ],
                    "policy": {
                        "timeout": "1.00:00:00",
                        "concurrency": 1,
                        "retry": 3
                    },
                    "scheduler": {
                        "frequency": "Month",
                        "interval": 1,
    "style": "StartOfInterval"
                    },
                    "name": "CopyActivity-ADLS-1010-Accruals"
                }

    InputDataset:

    {
        "name": "DataSet-Output-AzureDataLakeStore-Accruals-1010",
        "properties": {
            "structure": [
                {
                    "name": "UniqueID",
                    "type": "String"
                },
                {
                    "name": "COMPANY_CODE",
                    "type": "String"
                }
            ],
            "published": false,
            "type": "AzureDataLakeStore",
            "linkedServiceName": "LinkedService-Destination-AzureDataLakeStore",
            "typeProperties": {
                "folderPath": "/Dev/1010",

                "format": {
                    "type": "TextFormat",
                    "columnDelimiter": "\u0001",
                    "nullValue": "",
                    "firstRowAsHeader": true
                }
            },
            "availability": {
                "frequency": "Month",
                "interval": 1,
    "style": "StartOfInterval"
            },
            "external": false,
            "policy": {}
        }
    }

    Output Dataset:

     {
        "name": "DataSet-Accruals-Output-OnPremFileShare-1010",
        "properties": {
            "structure": [
                {
                    "name": "UniqueID",
                    "type": "String"
                },
                {
                    "name": "COMPANY_CODE",
                    "type": "String"
                }
            ],
            "published": false,
            "type": "FileShare",
            "linkedServiceName": "LinkedService-Destination-OnPremFileSystem",
            "typeProperties": {
                "fileName": "1010-Payment_{year}{month}{day}{hour}{minute}.txt",
                "folderPath": "Dev/1010",
                "format": {
                    "type": "TextFormat",
                    "rowDelimiter": "\n",
                    "columnDelimiter": "\t",
                    "nullValue": "",
                    "firstRowAsHeader": true
                },
                "partitionedBy": [
                    {
                        "name": "year",
                        "value": {
                            "type": "DateTime",
                            "date": "SliceStart",
                            "format": "yyyy"
                        }
                    },
                    {
                        "name": "month",
                        "value": {
                            "type": "DateTime",
                            "date": "SliceStart",
                            "format": "MM"
                        }
                    },
                    {
                        "name": "day",
                        "value": {
                            "type": "DateTime",
                            "date": "SliceStart",
                            "format": "dd"
                        }
                    },
                    {
                        "name": "hour",
                        "value": {
                            "type": "DateTime",
                            "date": "SliceStart",
                            "format": "HH"
                        }
                    },
                    {
                        "name": "minute",
                        "value": {
                            "type": "DateTime",
                            "date": "SliceStart",
                            "format": "mm"
                        }
                    }
                ]
            },
            "availability": {
                "frequency": "Month",
                "interval": 1,
    "style": "StartOfInterval"
            }
        }
    }

    Headers are repeating in output Ompemise text file two times as the input ADLS contains two files.

    How to avoid this repetition of headers in the output file?

    Saturday, June 2, 2018 4:19 AM

All replies

  • Thought out a workaround: ADF supports skipLineCount, which can skip specified number of rows of your file. In your case, you may want to set it to 1. And then there will be no headers in you destination file. You need handle the header in some other ways.
    Saturday, June 2, 2018 12:32 PM
  • Hi Swapnil,

    Could you help to provide the runId of your mentioned copy run? We can further take a look on it.

    Thanks,

    Yingqin

    Monday, June 4, 2018 7:35 AM