尝试在ADF中使用数据流扁平化JSON时,获得“在模式推理中检测到格式错误的记录”

l0oc07j2  于 2023-03-20  发布在  其他
关注(0)|答案(1)|浏览(102)

使用Azure Data Factory,我从无需授权的开源API(https://directory.spineservices.nhs.uk/ORD/2-0-0/organisations/rxl)复制了数据,并将其作为JSON文件放入Azure Blob存储帐户。现在,我正在尝试展平数据流中的一些列,但我的源活动出现问题。当我尝试预览数据时,收到此错误:
在架构推理中检测到格式不正确的记录。分析模式:失败。可能是因为在文档格式中选择了错误的内容来解析json文件。请在json源上尝试其他“文档格式”(单个文档/每行文档/文档数组)。
我尝试将“文档表单”选项更改为每个选项,但仍然出现相同的错误。
我可以在查看数据集时预览数据,但是我不能在数据流中查看它......任何帮助都很感激!
谢谢。
以下是一个数据样本:

[
    {
        "Organisation": {
            "Rels": {
                "Rel": [
                    {
                        "Date": [
                            {
                                "Start": "2020-04-01",
                                "Type": "Operational"
                            }
                        ],
                        "id": "RE5",
                        "Status": "Active",
                        "Target": {
                            "OrgId": {
                                "assigningAuthorityName": "HSCIC",
                                "extension": "QE1",
                                "root": "2.16.840.1.113883.2.1.3.2.4.18.48"
                            },
                            "PrimaryRoleId": {
                                "id": "RO261",
                                "uniqueRoleId": 300734
                            }
                        },
                        "uniqueRelId": 666658
                    },
                    {
                        "Date": [
                            {
                                "End": "2020-03-31",
                                "Start": "2016-04-01",
                                "Type": "Operational"
                            }
                        ],
                        "id": "RE5",
                        "Status": "Inactive",
                        "Target": {
                            "OrgId": {
                                "assigningAuthorityName": "HSCIC",
                                "extension": "Q84",
                                "root": "2.16.840.1.113883.2.1.3.2.4.18.48"
                            },
                            "PrimaryRoleId": {
                                "id": "RO210",
                                "uniqueRoleId": 278955
                            }
                        },
                        "uniqueRelId": 464825
                    }
...
oug3syen

oug3syen1#

  • 当我尝试将文件作为JSON文件复制到blob存储,然后尝试在数据流中读取它时,我收到了类似的错误(导入投影时)

  • 在复制数据活动接收器设置中,使用Array of objects形式的文件模式会导致出现此错误(数据集预览与您的情况一样正常工作)。请将此设置为Set of Objects形式的文件模式。

  • 现在,在导入投影后阅读此文件,将使用JSON设置Document per line给予以下模式:

  • 数据流的数据预览将如下图所示:

注意:不要将响应复制到JSON文件,而是使用REST链接服务访问此开源API以直接读取数据。但是,数据预览与上面看到的略有不同。

相关问题