【问题标题】:how to view data catalog table in S3 using redshift spectrum如何使用红移光谱查看 S3 中的数据目录表
【发布时间】:2018-11-14 11:45:08
【问题描述】:

我在 aws 胶水中为我的数据库创建了外部架构。我可以看到表格列表,但无法查看 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 胶水中创建一个组合数据目录中的外部表的视图。

只是更新:

我在数据目录中创建表时使用了 aws 胶水爬虫。它们是 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 加载,我不会遇到问题,但我需要在红移光谱中读取的格式文件应该是 json。

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

【问题讨论】:

  • 尝试分享更多信息以获得这方面的帮助。包括你的 sql,你的定义等
  • 感谢我编辑了我的帖子
  • 我也有同样的问题,但是是镶木地板格式
  • 贝尼,Redshift Spectrum 抛出的错误可能并不总是准确的。我只能确认使用 JSON 的查询应该与其他数据格式类似。我建议参考[this][forums.aws.amazon.com/thread.jspa?threadID=287753&tstart=0]

标签: amazon-redshift aws-glue amazon-redshift-spectrum


【解决方案1】:

贝尼,
RedShift Spectrum 抛出的错误可能并不总是准确的。我只能确认使用 JSON 的查询应该与其他数据格式类似。顺便说一下,外部表需要在光谱数据库中通过SQL客户端进行修正。

所以,我建议参考thisthis 来检查您的步骤

【讨论】:

    猜你喜欢
    • 2018-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-18
    • 1970-01-01
    • 1970-01-01
    • 2014-07-09
    • 2020-02-01
    相关资源
    最近更新 更多