flinkSql將巢狀Json對映成source表

2021-10-23 22:37:03 字數 1422 閱讀 7456

flinksql在遇到複雜的json時,如何對映成表呢? 這裡推薦一種方便的方式:

巢狀的json格式如下:

,"type":3

,"deviceid"

:"001c92f7dcd85a"},

"timestamp"

:1598522106835

,"type":1

}

期望對映成乙個source表

create

table t_1144_1 (

-- 最主要的是這行,定義型別為row

`data

`row

(deviceid string,

`data

`row

(mac_value string,ad_name string,voice string,datatimestamp string)),

-- 通過xx.xx取資料,對映成自己想要的表

deviceid as cast(

`data

`.deviceid as

varchar),

mac_value as cast(

`data`.

`data

`.mac_value as

integer),

ad_name as cast(

`data`.

`data

`.ad_name as

integer),

voice as cast(

`data`.

`data

`.voice as

integer),

eventtime as cast(

`data`.

`data`.

`datatimestamp`

asvarchar),

-- 時間視窗以及水位線

windoweventtime as to_timestamp(from_unixtime(

(cast(cast(

`data`.

`data`.

`datatimestamp`

asvarchar)as

bigint)+

43200000)/

1000))

, watermark for windoweventtime as windoweventtime -

interval

'2'second

)with

( ***x

) 後續的sql

,就可以基於這個表來進行操作了.

通過使用row的方式, 可以讓複雜的json轉變為可操作的schema,使用時, 可以讓xx.xx.xx來使用.

json巢狀獲取

目前思路 獲取string string轉化為json json在變為string 假如json為 沒寫全,只是個參考,主要是想記錄一下httpclient一般使用情況,外加json轉變問題 不過現在不怎麼用,一般用okhttp,但我是小白,對於一些服務器官網上用的這個httpclient,本來想用...

json巢狀json如何解析

json格式如下 使用google的gson包處理,非常簡單 發現這個問題其實挺簡單的。我的解決方法如下 先定義三個類分別為 biz,bizs 和 data,用於對應你的 json 串中的從裡到外的三個部分。biz 類中包含 id,name,add 三個屬性,bizs 中包含壹個 biz 型別的陣列...

用遞迴將巢狀的JSON物件遍歷出來,轉為二維陣列

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!如題所示,如下 var arjsonnesting 注意有的json物件有子物件children var arjson new array function refining arjsonnesting,arjson j if arjsonnest...