Hi there,

I want to create a new JSON Field/Column type. I know there exists get_json_object(), but the things is I want to multiple JSON operations in a single select statement and don't want to incur the cost of parsing the JSON over and over again, because our json structures are quite large.

Our schema is two fields - the first is a string of some sort used as an id, and the second is a huge JSON structure. I want to be able write sql like the following:

select Foo(json), Bar(json), Baz(json) where Quux(json) like '%hello%';

Foo(), Bar(), Baz() and Quux() are all UDF's that operate on json. Right now what I'm doing is storing the JSON as a string and in each of those UDF's I am de-serializing the json, and returning another string.

Ideally I'd want to be able to return JSON objects from these UDF's so I could compose my functions like "Foo(Bar(Baz(json))"

I'm thinking I need to create a SerDe but SerDe's seem to work at the table level, not at the field level (in other words, I just need a custom field, not a entire custom table type...or do I!?)

Also, if there's any docs on writing custom SerDe's please let me know...I haven't been able to find much.

Thanks!

Bobby

Reply via email to