我有一个名为uf
包含 JSON 对象数组的列。这是一个样机:
[
{"type": "browserId", "name": "", "value": "unknown"},
{"type": "campaign", "name": "", "value": "om_227dec0082a5"},
{"type": "custom", "name": "2351350529", "value": "10148"},
{"type": "custom", "name": "9501713387", "value": "true"},
{"type": "custom", "name": "9517735577", "value": "true"},
{"type": "custom", "name": "9507402548", "value": "true"},
{"type": "custom", "name": "9733902068", "value": "true"}
]
我试图将其作为子记录,但由于某种原因,我找不到首先将其取消嵌套的正确方法。然后我注意到我的整个数组被包装到另一个 JSON 对象中。
这就是我所在的位置:
我尝试了简单的选择并注意到结果是:
[{type=[{"type": "browserId", "name": "", "value": "ff"}, name=null, value=null}]
该列的定义如下:
{
"Name": "uf",
"Type": "array<struct<type:string,name:string,value:string>>"
}
定义是否不正确,这就是为什么我将整个数组包装在另一个 json 数组中的原因?
-- 编辑 这是我的 csv 文件的示例(制表符分隔)。过去两天试图查看是否是关于 JSON 的问题导致 Glue 无法将列识别为 JSON 数组,但我创建了一个新列,其中包含正确分配的简单 JSON 数组,array<struct
但在查询后我遇到了与上面完全相同的问题
timestamp project_id campaign_id experiment_id variation_id layer_holdback audience_names end_user_id uuid session_id snippet_revision user_ip user_agent user_engine user_engine_version referer global_holdback event_type event_name uf active_views event_features event_metrics event_uuid
1570326511 74971132 11089500404 11097730080 11078120202 false [] oeu1535997971348r0.4399811351004357 AUTO 6540 5.91.170.0 Mozilla/5.0 (Linux; Android 7.0; SAMSUNG SM-G925F Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/9.2 Chrome/67.0.3396.87 Mobile Safari/537.36 js 0.128.0 https://www.zavamed.com/uk/account/ false view_activated 10832783364 [{"type": "browserId", "name": "", "value": "unknown"}, {"type": "device", "name": "", "value": "mobile"}, {"type": "device_type", "name": "", "value": "phone"}, {"type": "referrer", "name": "", "value": "https:\/\/www.google.co.uk\/"}, {"type": "source_type", "name": "", "value": "campaign"}, {"type": "currentTimestamp", "name": "", "value": "-1631518596"}, {"type": "offset", "name": "", "value": "-60"}] [] [] [] 4926a5f1-bbb5-4553-9d0b-b26f773fa0f4