我在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中的作业上传它们,输出就像(如表)
现在,我在数据目录中抓取了大量的表 . 我正在努力创建这个表的单个脚本,这就是为什么亚马逊红移谱外部模式可能会有所帮助 .
但是,当我在外部模式中查询外部表时,我收到上面发布的错误 . 如果它们作为csv加载,我不会遇到数据目录中的外部表的问题,但我需要在redshift谱中读取的格式文件应该在json中 .
在使用作业加载时,是否可以在红移谱中查看相同格式的外部表?