![](/img/trans.png)
[英]Move JSON Data from DocumentDB (or CosmosDB) to Azure Data Lake
[英]Move data from Data Lake Store (JSON file ) to Azure Search using Azure Data Factory
我正在尝试使用Data Factory将json文件从Azure数据湖移动到Azure搜索。 但它显示以下错误,
复制活动在源端遇到用户错误:ErrorCode = UserErrorSourceDataContainsMoreColumnsThanDefined,'Type = Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message =处理行号为1的'Csv / Tsv格式文本'源'file.json'时发现错误:找到的列多于预期的列数:52.,Source = Microsoft.DataTransfer.Common,”。
我们如何将数据从json文件移动到Azure搜索?
Update1:我已在源中使用JSON格式,但在目标Azure搜索中,createddate列是DateTimeOffset类型列(String-> DateTimeOffset)。 因此出现以下错误,
复制活动在源端遇到用户错误:ErrorCode = UserErrorInvalidDataValue,'Type = Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message =列'createddate'包含无效值'1/5/2017 2:03:55 PM' 。 无法将'1/5/2017 2:03:55 PM'转换为类型为'yyyy-MM-dd HH:mm:ss.fffffff'的'DateTime'。,Source = Microsoft.DataTransfer.Common,''Type = System.FormatException,消息=字符串未被识别为有效的DateTime。,源= mscorlib,”。
我试图在Soure端更改Datetime格式,但由于json文件,所以没有任何效果。 当我们尝试从json获取数据时,所有数据均为字符串类型。
UPDATE2:
当我完成该Datetime错误时,接下来将出现以下错误
复制活动在接收器端遇到用户错误:ErrorCode = UserErrorAzuerSearchOperation,'Type = Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message =将数据写入Azure搜索索引'searchindex'.CloudException RequestId:'153be0ce-0bda- 4722-8c9e-951b5325eaa8'。状态代码:'BadRequest'。,源= Microsoft.DataTransfer.ClientLibrary.AzureSearch,''Type = Microsoft.Rest.Azure.CloudException,Message =请求无效。 详细信息:操作:0:文档密钥不能丢失或为空。
请为我提出解决方案,以克服这一难题。
我使用了createddate.Value.ToString(“ yyyy-MM-dd HH:mm:ss.fffffff”)而不是createddate.ToString(“ yyyy-MM-dd HH:mm:ss.fffffff”),它可以正常工作,因为createddate是可为空的列(Nullable)。
createddate.Value.ToString(“ yyyy-MM-dd HH:mm:ss.fffffff”)
错误“文档密钥不能丢失或为空”表示您要插入到Azure搜索的行中Azure搜索索引键为空。 您能否再次检查“密钥”列是否在源端提供,并且始终不为null?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.