如何将JSON文件加载到红移表的单个列中

如何将JSON文件加载到红移表的单个列中,json,amazon-web-services,amazon-s3,amazon-redshift,Json,Amazon Web Services,Amazon S3,Amazon Redshift,我试图将下面的JSON示例从S3加载到红移表中的一列,作为概念证明。然而,它并没有成功地工作。在这方面的任何帮助都会大有裨益 (这只是一个带有随机值的JSON示例,用于检查它是否正常工作) { “名称”:“ABC”, “部门”:“人力资源部”, “罗尔诺”:1, “工资”:1000美元, “RS系数”:4, “预期值”:8.1, “评论”:“评论”, “修正系数”:1, “水果”:“苹果”, “大小”:“大”, “颜色”:“红色” } 使用的复制命令: 从's3://bucketname/fi

我试图将下面的JSON示例从S3加载到红移表中的一列,作为概念证明。然而,它并没有成功地工作。在这方面的任何帮助都会大有裨益

(这只是一个带有随机值的JSON示例,用于检查它是否正常工作)

{
“名称”:“ABC”,
“部门”:“人力资源部”,
“罗尔诺”:1,
“工资”:1000美元,
“RS系数”:4,
“预期值”:8.1,
“评论”:“评论”,
“修正系数”:1,
“水果”:“苹果”,
“大小”:“大”,
“颜色”:“红色”
}
使用的复制命令:

从's3://bucketname/file.json'复制“schema”、“table”、“column”
凭证为“aws\u访问\u密钥\u id=XXXXXX;aws_secret_access_key=XXXXXX'
MAXERROR为0日期格式为“自动”时间格式为“自动”
可接受日期修剪空白
空空
空白空白
计算更新
第二轮投票
JSON作为“自动”
将UTF8 ACCEPTINVCHARS编码为“?”
IGNOREHEADER为0

你说的“到一列”是什么意思?是否希望字段包含显示的完整JSON blob?你能给我们举一个你所期望的结果的例子吗?通常,最好将JSON属性加载到单独的列中,以便通过红移轻松查询它们。虽然Redshift确实包含一些解析JSON字段的函数,但表不会针对查询进行优化。我们的最终目标是将整个JSON结构插入到单个列中,原因是JSON字段本质上是动态的。是否可能,或者我们是否需要像mongo或dynamoRegardless那样使用无模式的DB?不管是否可能,以这种格式加载数据对于Amazon Redshift来说不是一个好主意。Amazon Redshift的真正威力来自于跨节点分发数据(分发键)和排序数据,以便
WHERE
语句高效(排序键)。如果您希望将数据存储为JSON blob,它将不会利用Redshift提供的任何好处。如果这是您希望以红移格式存储的主要/唯一数据,那么您应该以真正的行/列格式存储它,或者使用不同类型的数据库。您所说的“到单个列”是什么意思?是否希望字段包含显示的完整JSON blob?你能给我们举一个你所期望的结果的例子吗?通常,最好将JSON属性加载到单独的列中,以便通过红移轻松查询它们。虽然Redshift确实包含一些解析JSON字段的函数,但表不会针对查询进行优化。我们的最终目标是将整个JSON结构插入到单个列中,原因是JSON字段本质上是动态的。是否可能,或者我们是否需要像mongo或dynamoRegardless那样使用无模式的DB?不管是否可能,以这种格式加载数据对于Amazon Redshift来说不是一个好主意。Amazon Redshift的真正威力来自于跨节点分发数据(分发键)和排序数据,以便
WHERE
语句高效(排序键)。如果您希望将数据存储为JSON blob,它将不会利用Redshift提供的任何好处。如果这是您希望以红移格式存储的主/唯一数据,那么您应该以真正的行/列格式存储它,或者使用不同类型的数据库。