use*_*388 0 arrays json amazon-web-services amazon-redshift
是否可以解析此 JSON 数组并将其转换为表并在 AWS Redshift 中执行此操作?
这个数组:
[
{"Event":"start","EventDateTime":"2015-09-15T03:45:16.681428Z"},
{"Event":"process","EventDateTime":"2015-09-15T03:45:16.681428Z"},
{"Event":"end","EventDateTime":"2015-09-15T03:45:16.681428Z"}
]
Run Code Online (Sandbox Code Playgroud)
转换为包含 Event 和 EventDateTime 字段的表。
我已经尝试过可用的 json 函数和字符串函数,但结果是空的。
谢谢!
要从 JSON 格式执行 Redshift COPY,您必须准备 JSON 数据结构。JSON 数据结构由一组对象或数组组成。
在你的例子中:
创建以下数据集并将其上传到S3:
{"event":"start","eventdatetime":"2015-09-15T03:45:16.681428Z"}
{"event":"process","eventdatetime":"2015-09-15T03:45:16.681428Z"}
{"event":"end","eventdatetime":"2015-09-15T03:45:16.681428Z"}
Run Code Online (Sandbox Code Playgroud)在集群上创建表
CREATE TABLE events (event VARCHAR, eventdatetime TIMESTAMP);
Run Code Online (Sandbox Code Playgroud)运行复制命令
COPY events FROM 's3://bucket/file' JSON 'auto' TIMEFORMAT 'auto' CREDENTIALS 'aws_access_key_id=???;aws_secret_access_key=???';
Run Code Online (Sandbox Code Playgroud)测试结果
SELECT * FROM events;
Run Code Online (Sandbox Code Playgroud)
请记住,在此示例中将使用“自动”映射功能,并且由于列名称始终为小写,因此匹配的字段名称也必须为小写。。如果这不是一个选项,您可以使用JSONPaths 文件克服此限制。
| 归档时间: |
|
| 查看次数: |
7026 次 |
| 最近记录: |