Amazon Redshift 错误:XX000:清单文件的 json 格式不正确。请告诉我哪里错了
Posted
技术标签:
【中文标题】Amazon Redshift 错误:XX000:清单文件的 json 格式不正确。请告诉我哪里错了【英文标题】:Amazon Redshift ERROR: XX000: Manifest file is not in correct json format . Please tell me where is wrong 【发布时间】: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 这还不够吗? 【参考方案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' 分隔符 ',' 清单;
【讨论】:
以上是关于Amazon Redshift 错误:XX000:清单文件的 json 格式不正确。请告诉我哪里错了的主要内容,如果未能解决你的问题,请参考以下文章
RedShift Error when using COUNT (Distinct XXX) ERROR: XX000: This type of associated subquery patter
错误:XX000:ValueError:需要一个日期时间对象。请查看 svl_udf_log 了解更多信息
Redshift 存储过程 - [Amazon](500310) 无效操作:“$1”处或附近的语法错误;
Redshift 中的 DAU WAU MAU 错误:[Amazon](500310) 无效操作:由于内部错误,不支持此类关联子查询模式;