Разбор файла JSON в базе данных Snowflake - PullRequest
0 голосов
/ 13 ноября 2018

enter image description here База данных: SNOWFLAKE

Моя таблица содержит данные JSON, например:

{
    "bucket":"IN_Apps",
    "bySeqno":56,
    "cas":1527639206906626048,
    "content":"eyJoaWdoQmluIjoiNTQ4NTA4MDkiLCJkb2N1bWVudFR5cGUiOiJJSU5ETyIsImNhcmRUeXBlIyayI6Ik1BU1RFUkNBUkQifQ==",
    "event":"mutation",
    "expiration":0,
    "flags":33554432,
    "key":"iin54850809",
    "lockTime":0,
    "partition":948,
    "revSeqno":1,
    "vBucketUuid":137987627737694
}

, когда я пытался ее проанализировать.

select 
parse_json:bucket::string as bucket ,
parse_json:bySeqno::string as bySeqno ,
parse_json:cas::INT as cas ,
parse_json:content::string as content ,
parse_json:event::string as event 
,parse_json:expiration::string as expiration
,parse_json:flags::string as flags
,parse_json:key::string as key
,parse_json:lockTime::string as lockTime
,parse_json:partition::string as partition
,parse_json:revSeqno::string as revSeqno
,parse_json:vBucketUuid::string as vBucketUuid
from STG_YS_APPS v

но выдает ошибку вроде.

Ошибка компиляции SQL: строка ошибки 2 в позиции 0, недопустимый идентификатор>> 'PARSE_JSON'

может кто-нибудь, пожалуйста, помогите мне.

1 Ответ

0 голосов
/ 14 ноября 2018

Ответ с известной схемой

Обновление: так как вы предоставили схему, которая показывает столбец VAR типа VARIANT, вот что вам нужно, не может быть проще:

select
var:bucket::string as bucket,
var:bySeqno::string as bySeqno,
var:cas::int as cas
...
from STG_YS_APPS v

Ниже ответа до того, как схема была известна

Я предполагаю, что в вашей таблице есть столбец VARCHAR (или аналогичный), который называется json, и в нем хранятся значения, которые вы представили. Вы не указали схему, поэтому при необходимости измените имя столбца.

Вы не используете PARSE_JSON как функцию в вашем SQL. Вы должны написать что-то вроде

select
parse_json(json):bucket::string as bucket,
parse_json(json):bySeqno::string as bySeqno,
parse_json(json):cas::int as cas
...
from STG_YS_APPS v
...