将 gzipped json 文件加载到 redshift

loading gzipped json file into redshift

我正在寻找从看起来像这样的 s3 gzip 文件加载:

{"a": "a", "b": "a", "time": "20210210T10:10:00"}
{"a": "b", "b": "b", "time": "20210210T11:10:00"}

我事先在 redshift 中创建了 table:

create table stTest(
a varchar(50),
b varchar(50),
time varchar(50));

这就是我 运行 得到的:

db=# COPY stTest FROM 's3://bucket/file.gz'  credentials 'aws_access_key_id=x;aws_secret_access_key=y' json 'AUTO' gzip ACCEPTINVCHARS ' ' TRUNCATECOLUMNS TRIMBLANKS;
ERROR:  S3 path "AUTO" has invalid format.
DETAIL:
  -----------------------------------------------
  error:  S3 path "AUTO" has invalid format.
  code:      8001
  context:   Parsing S3 Bucket
  query:     72165606
  location:  s3_utility.cpp:132
  process:   padbmaster [pid=4690]
  -----------------------------------------------

希望得到一些帮助。

您需要指定 json 字段到 Redshift 列映射。这是通过 FORMAT 选项和 jsonpaths 文件完成的。有关 json 路径文件的格式,请参阅 https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-format.html#copy-format