【问题标题】:Amazon Redshift ERROR: XX000: Manifest file is not in correct json format . Please tell me where is wrongAmazon Redshift 错误:XX000:清单文件的 json 格式不正确。请告诉我哪里错了
【发布时间】:2018-11-15 06:13:09
【问题描述】:

使用 COPY 命令加载带有清单的 Amazon Redshift 时发生以下错误。

ERROR: XX000: Manifest file is not in correct json format

我认为 manifestfile 的 json 文本是错误的,但我不确定哪里错了。

复制命令详情如下:

・建表命令

enter code here
CREATE TABLE mddb.test
(
    parent INTEGER ENCODE lzo,
    parentname VARCHAR(100) ENCODE lzo,
    child INTEGER ENCODE lzo,
    childname VARCHAR(100) ENCODE lzo
)
DISTSTYLE EVEN;

・S3目录

217444159777-japan-manufacturing-data
   |
   ----testmani.manifest
   |
   ----abcd----CopyCommadTest.csv
   |
   ----efgh----CopyCommadTest.csv

・CSV 文件

parentid    parentname  childid childname
3   kenta   4   kentachild

・清单文件

{
  "entries": [
    {
      "url": "s3://217444159777-japan-manufacturing-data/abcd/CopyCommadTest.csv",
      "mandatory": true
    },
    {
      "url": "s3://217444159777-japan-manufacturing-data/efgh/CopyCommadTest.csv",
      "mandatory": true
    }
  ]
}

・加载命令

COPY mddb.test
FROM 's3://217444159777-japan-manufacturing-data/testmani.manifest' 
CREDENTIALS 'aws_iam_role=arn:aws:iam::xxxxxxxxx'
MANIFEST
DELIMITER '\t' 
ACCEPTANYDATE 
IGNOREHEADER as 1 
IGNOREBLANKLINES 
FILLRECORD 
TRIMBLANKS 
BLANKSASNULL 
DATEFORMAT 'YYYY-MM-DD' 
TIMEFORMAT 'YYYY-MM-DD HH:MI:SS' 
null as '\0' -
MAXERROR 10 

我成功执行了以下命令:

COPY mddb.test
FROM 's3://217444159777-japan-manufacturing-data/abcd/CopyCommadTest.csv' 
CREDENTIALS 'aws_iam_role=arn:aws:iam::xxxxxxx'
DELIMITER '\t'
ACCEPTANYDATE 
IGNOREHEADER as 1 
IGNOREBLANKLINES 
FILLRECORD 
TRIMBLANKS 
EMPTYASNULL 
BLANKSASNULL 
DATEFORMAT 'YYYY-MM-DD' 
TIMEFORMAT 'YYYY-MM-DD HH:MI:SS' 
null as '\0' 
MAXERROR 10 

请告诉我哪里错了。

【问题讨论】:

  • 清单看起来不错 - 检查权限?否则我认为这可能是 AWS 支持人员需要考虑的问题。
  • 我已经允许了以下权限 AmazonS3FullAccess AWSGlueConsoleFullAccess 这还不够吗?

标签: json amazon-web-services amazon-redshift


【解决方案1】:

遇到了同样的错误,我能够修复它 注 1. 该文件是文本文件,但为 json 格式,它不是 json 文件。 文件名 -> 清单并保存为 .txt

{
    "entries": [
      {"url":"s3://redshiftcontainer/testdt/Book3.txt","mandatory":true}
    ]
}

在红移查询中: 抄本2 来自's3://redshiftcontainer/manifest/manifest.txt' iam_role 'arn:aws:iam:::role/RedshiftRole' 分隔符 ',' 清单;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-29
    • 2017-12-30
    • 2021-08-05
    • 2021-09-07
    相关资源
    最近更新 更多