asc*_*ker 5 data-migration amazon-s3 google-bigquery amazon-redshift
我正在尝试迁移 redshift 数据库中的大查询事件数据。我正在使用以下命令。
COPY events_20180627 from 's3://big-query-to-rs/big-query-data/events_20180627' CREDENTIALS 'aws_access_key_id=XXXXXXXXX;aws_secret_access_key=XXXXXXXXXXX' format as json 'auto' ;
Run Code Online (Sandbox Code Playgroud)
对于大小超过 4 MB 的行,它给出以下错误。
Amazon 无效操作:json 对象的总大小超过 4194304 字节的最大限制详细信息: ------------------------------ ----------------- 错误:json 对象的总大小超出了 4194304 字节的最大限制 代码:8001 上下文:
我浏览了各种博客并回答但没有运气。
有人能告诉我解决方法吗?谢谢!
小智 4
也许你们已经知道这一点,但一开始我并不清楚。
4MB 限制是针对表插入的单行,而不是针对所有行的总和。我有一个错误,因为我的 JSON 格式是:
[
{"field1": "a", "field2": "b"},
{"field1": "c", "field2": "d"},
...
]
Run Code Online (Sandbox Code Playgroud)
我认为 redshift 认为它是单行,这就是它给出 4MB 错误的原因。
Redshift 需要这种格式:
{"field1": "a", "field2": "b"}
{"field1": "c", "field2": "d"}
...
Run Code Online (Sandbox Code Playgroud)
也就是说,不是嵌套在数组内的对象,而是彼此相邻的普通对象,由可选的空格分隔(我只测试了用换行符分隔,但很确定这些是可选的)。
文件:
希望这有帮助!
| 归档时间: |
|
| 查看次数: |
3017 次 |
| 最近记录: |