2016-07-17 3 views
0

Есть ли функциональность для использования логических операторов в файле пути JSON, используемом в команде копирования.Использование логических операторов в файле пути json

К примеру, у меня есть JSON, который может содержать ключ, который может быть либо

Desc

Или

Описание

Таким образом, в JSON это было бы что-то вроде:

{ 
"Desc": "Hello", 
"City" : "City1", 
"Age": "21" 
} 

{ 
"Description" : "World", 
"City" : "City2", 
"Age": "25" 
} 

Я использую команду копирования, чтобы вытащить данные из JSON выше в мой стол в redshift. В таблице есть столбец с именем «description_data». Это сохранит значения «Desc» или «Description». Поэтому я хочу, чтобы мой файл пути идентифицировал использование условия «ИЛИ».

Это путь к файлу, который я сейчас использую -

{ 
"jsonpaths": [ 
       "$['Desc']", 
       "$['City']", 
       "$['Age']" 
      ] 
} 

Который работает отлично.

То, что я пытаюсь сделать, это ниже (это где я не уверен, есть ли синтаксис или функциональность для достижения цели)

{ 
    "jsonpaths": [ 
        "$['Desc']" or "$['Description']", 
        "$['City']", 
        "$['Age']" 
       ] 
    } 

ответ

0

Нет, Redshift не поддерживает это.

Вы можете ввести две команды copy, одну с Desc, а другую с Description, чтобы загрузить данные в две временные таблицы. После этого вы можете объединить их в свой финальный стол.