1

我一直在定义一个新的 YAML 文档,但是在尝试处理该文件时,我从 yamllint 收到以下错误:

>syntax error on line 3, col 10: ` suites: '

以及运行测试时 PyCharm 中的以下错误:

ScannerError:“”第 2 行第 11 列中不允许映射值<string>:名称:testFirstNameLower

对于以下代码:

DataMart\Users: 
  name: testFirstNameLower
   suites:
     - suite: dataMart
     - suite: userDim
   dataset: 
     source:  etlUnitTest 
       table:  users

看起来它的格式正确,但我不知道我在做什么错......

4

1 回答 1

1

如果您DataMart\Users应该包含一系列用户,并且每个用户都有 a 、 a 和 a的name序列,那么您只是做了太多的缩进,并且没有将每个用户作为一个系列来处理。这个在线解析器通常是我在处理 yaml 时使用的。)suitesdataset

试试这个:

DataMart\Users: 
  - name: testFirstNameLower
    suites:
      - suite: dataMart
      - suite: userDim
    dataset:
      source: etlUnitTest 
      table: users

...对应于以下json:

{
  "DataMart\\Users": [
    {
      "name": "testFirstNameLower", 
      "suites": [
        {
          "suite": "dataMart"
        }, 
        {
          "suite": "userDim"
        }
      ], 
      "dataset": {
        "source": "etlUnitTest", 
        "table": "users"
      }
    }
  ]
}

这是添加了第二个示例用户的 yaml:

DataMart\Users: 
  - name: testFirstNameLower
    suites:
      - suite: dataMart
      - suite: userDim
    dataset:
      source: etlUnitTest 
      table: users

  - name: secondname
    suites:
      - suite: secondDataMart
      - suite: secondUserDim
    dataset:
      source: secondEtlUnitTest 
      table: secondUsers
于 2014-05-19T18:43:18.103 回答