我已经创建了一个管道,它使用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。