Удалить дубликаты записей из вложенной структуры данных JSON во внешних таблицах красного смещения - PullRequest
0 голосов
/ 02 июля 2019

Мне нужно создать представление поверх данных 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 ()

Мне нужны уникальные записи, даже если данные вложены.

...