我在aws glue中为我的数据库创建了外部模式 . 我可以看到表的列表,但我无法查看json数据 . redshift引发了我这个错误 .

[Amazon](500310) Invalid operation: S3 Query Exception (Fetch)
Details: 
 -----------------------------------------------
  error:  S3 Query Exception (Fetch)
  code:      15001
  context:   Task failed due to an internal error. Error occured during Ion/JSON extractor match: IERR_INVALID_SYNTAX

  query:     250284
  location:  dory_util.cpp:717
  process:   query2_124_250284 [pid=12336]
  -----------------------------------------------;
1 statement failed.

我不想创建外部表,因为我将在aws glue中创建一个组合数据目录中的外部表的视图 .

只是一个更新:

我在创建数据目录中的表时使用了aws glue crawler . 它们是json格式 . 如果我使用将在redshift中上传此数据的作业,则它们将作为平面文件(数组除外)加载到redshift表中 .

json数据的示例:

{
  "array": [
    1,
    2,
    3
  ],
  "boolean": true,
  "null": null,
  "number": 123,
  "object": {
    "a": "b",
    "c": "d",
    "e": "f"
  },
  "string": "Hello World"
}

如果我使用aws glue中的作业上传它们,输出就像(如表)

see image

现在,我在数据目录中抓取了大量的表 . 我正在努力创建这个表的单个脚本,这就是为什么亚马逊红移谱外部模式可能会有所帮助 .

但是,当我在外部模式中查询外部表时,我收到上面发布的错误 . 如果它们作为csv加载,我不会遇到数据目录中的外部表的问题,但我需要在redshift谱中读取的格式文件应该在json中 .

在使用作业加载时,是否可以在红移谱中查看相同格式的外部表?