当我尝试使用DataFactory将数据从Azure Blob复制到SQL数据仓库时,会出现异常



我已经创建了一个管道,它使用Copy活动将数据从Blob移动到SQL数据仓库。

Azure Blob Dataset:
"name": "TradeData",
  "properties": {
    "type": "AzureBlob",
    "linkedServiceName": "HDInsightStorageLinkedService",
    "structure": [],
    "typeProperties": {
      "folderPath": "hdinsight/hive/warehouse/tradesummary/",
      "format": {
        "type": "OrcFormat"
      }
    },
SQL DW Dataset:
 "name": "TradeDataRepository",
  "properties": {
    "type": "AzureSqlDWTable",
    "linkedServiceName": "AzureSQLDataWarehouseLinkedService",
    "typeProperties": {
      "tableName": "tradesummary"
    },
Pipeline:
"activities": [
      {
        "name": "CopyActivityTemplate",
        "type": "Copy",
        "inputs": [
          {
            "name": "TradeData"
          }
        ],
        "outputs": [
          {
            "name": "TradeDataRepository"
          }
        ],
        "typeProperties": {
          "source": {
            "type": "BlobSource",
            "skipHeaderLineCount": 0
          },
          "sink": {
            "type": "SqlDWSink",
            "allowPolyBase": false
        }

当我执行管道时,我得到以下错误:

数据库操作失败。
数据库执行错误消息: ErrorCode=FailedDbOperation,'Type= microsoft . datattransfer . common . shared . 'HybridDeliveryException,Message=Error happened when loading data into SQL data Warehouse.,Source= microsoft . datattransfer . clientlibrary, " Type=System.Data.SqlClient.SqlException,Message=110802; DMS内部错误导致此操作失败。详细信息:例外:Microsoft.SqlServer.DataWarehouse.DataMovement.Common.ExternalAccess。HdfsAccessException, Message:调用HdfsBridge_CreateRecordReader时引发Java异常:Error [HdfsBridge::CreateRecordReader -创建记录读取器时遇到意外错误。]访问外部文件[/hive/warehouse/tradesummary/000000_0][0].,Source=. log。Net SqlClient Data Provider,SqlErrorNumber=110802,Class=16,ErrorCode=-2146232060,State=1,Errors=[{Class=16,Number=110802,State=1,Message=110802] DMS内部错误导致此操作失败。详细信息:例外:Microsoft.SqlServer.DataWarehouse.DataMovement.Common.ExternalAccess。HdfsAccessException, Message:调用HdfsBridge_CreateRecordReader时引发Java异常:Error [HdfsBridge::CreateRecordReader -创建记录读取器时遇到意外错误。]在访问外部文件[/hive/warehouse/tradesummary/000000_0][0].,},],'.

错误消息表明问题与您的接收器(SQL数据仓库)有关,而不是与ADF有关。当资源池中的系统内存不足时,这可能是一个临时问题。

要再次检查,请尝试激活和禁用"跳过不兼容的行";选项,并进行一些测试运行,看看您是否定期看到这个问题。

正如wBob根据MSDN文章所述,还有其他几个原因,可能是当源数据包含位或唯一标识时,似乎位问题已经解决,但唯一标识符还没有。您可以检查源数据中是否存在这些数据类型之一吗?作为一种解决方法,guid可以转换为varchar。

相关内容

  • 没有找到相关文章

最新更新