Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure cosmosdb Azure数据工厂如何将地理空间数据从Azure CosmosDB复制到文本文件?_Azure Cosmosdb - Fatal编程技术网

Azure cosmosdb Azure数据工厂如何将地理空间数据从Azure CosmosDB复制到文本文件?

Azure cosmosdb Azure数据工厂如何将地理空间数据从Azure CosmosDB复制到文本文件?,azure-cosmosdb,Azure Cosmosdb,我现在需要使用Azure data factory将地理空间数据从Azure CosmosDB复制到Azure data lake store中的文本文件 cosmos DB中的空间数据如下所示: { "Longitude": "5.2926", "Latitude": "60.2219", "Location": { "type": "Point", "coordinates": [ 5.2926, 60.2219 ] } }

我现在需要使用Azure data factory将地理空间数据从Azure CosmosDB复制到Azure data lake store中的文本文件

cosmos DB中的空间数据如下所示:

{
  "Longitude": "5.2926",
  "Latitude": "60.2219",
  "Location": {
    "type": "Point",
    "coordinates": [
      5.2926,
      60.2219
    ]
  }
}
首先,我试图通过ADF直接加载“位置”数据,但失败了,因为ADF不支持空间数据格式

然后在ADF的数据集中添加结构,将其指定为字符串:

{
    "properties": {
        "structure": [
            {
                "name": "Location.type",
                "type": "String"
            },
            {
                "name": "Location.coordinates",
                "type": "String"
            }
        ]
    }
}
管道工作,但是Location.coordinates导出为NULL

显然,ADF无法识别空间数据,并为导出指定NULL


有人熟悉这次转移吗?或者如何从空间格式转换为字符串?

根据这一点,数据工厂支持以下值来提供结构中的类型信息:Int16、Int32、Int64、Single、Double、Decimal、Byte[]、Bool、string、Guid、Datetime、Datetimeoffset和Timespan。它不支持空间数据(数组)格式。此外,我们无法在数据工厂中转换类型。当您将数据插入到COSMODB中时,是否考虑将类型更改为String?在COSMODB中可以将空间数据转换为String,但需要在COSMOS侧进行更多的工作。无论如何,空间数据似乎不能自动转换成字符串。我同意你的看法。我建议您可以先将空间数据转换为字符串,然后再插入cosmosDB。然后您可以使用ADF将数据复制到文本文件。@BrandoZhang MSFT,我还有一个关于cosmosdb的问题,您能帮我看一下吗?