从redshift外部表中的嵌套JSON数据结构中删除重复的记录

时间:2019-07-02 14:13:46

标签: amazon-redshift-spectrum

我需要在文件中存在的JSON数据之上创建视图。数据包含嵌套结构。我正在使用org.openx.data.jsonserde.JsonSerDe创建外部表 DDL:

CREATE EXTERNAL TABLE SPECTURM.STUD_DETAILS_REF(
            ID VARCHAR,
            NAME VARCHAR,
            FRM STRUCT<
                        ID:VARCHAR,
                        NAME:VARCHAR
                    >               
)
ROW FORMAT  serde 'org.openx.data.jsonserde.JsonSerDe'
WITH SERDEPROPERTIES ( 'case.insensitive' = 'false','mapping.frm' = 'from')
LOCATION 'USER/HOME/LOCATION'

我正在使用查询创建视图:

CREATE OR REPLACE VIEW VW_STUD_DETAILS AS
SELECT      S.ID AS STUDENT_ID, 
            S.NAME STUDENT_NAME,
            S.FRM.NAME STUD_LOCATION_NAME, 
            S.FRM.ID STUD_LOCATION_ID, 
FROM    SPECTURM.STUD_DETAILS_REF S 
WITH NO SCHEMA BINDING

我正在从外部表中选择数据并在其上创建一个视图。但是要获得很少的记录的重复记录。

得到错误:XX000:频谱嵌套查询错误

  1. 在选择查询的每个字段上进行分组。
  2. rank_over()函数

即使数据是嵌套的,我也想要唯一的记录。

0 个答案:

没有答案