如何在hive中提取json键值

时间:2018-06-02 15:44:05

标签: sql json hive

我有一个带有product_id的表和一个带有多个键的json对象,我想找到一个删除重复项的集合,并找到所有产品使用的所有键名的范围。

Product_id  json_object
 1     {"care_plan_eligible":{"properties":{"fromPcp":"true","added":"Wed Oct 21 03:52:44 UTC 2015","isMultiValued":"false","taxonomy_version":"urn:taxonomy:pcs2.0","attribute_type":"STRING","source":"dotcom_pcp","qid":"WALMART_DOTCOM#0#44425631","attributeId":"93751","isOfferAttribute":"true","requestId":"3030914e-3157-4504-a52a-96561a15b5a6","org_id":"0","attributeName":"Care Plan Eligible","updated":"Wed Dec 09 05:25:35 UTC 2015"},"values":[{"locale":"en_US","source_key":"is_care_plan_eligible","value":"N","display_attr_name":"is_care_plan_eligible","source_value":"N","isPrimary":"true"}]},"all_rhids":{"properties":{"attributeId":"rhid","taxonomy_version":"~draft","attributeName":"Site Taxonomy","taxonomy":"rhid-dotcom","source":"GROCERIES","qid":"GROCERIES#ee6ae9c4-ee0f-459c-89f1-a7c0a2c2ce65#00767052836048","status":"VERIFIED"},"values":[{"path_id":"[\"50000\",\"52000\",\"52004\",\"52123\",\"52508\"]","id":"52508","locale":"en_US","value":"CHILDRENS APPAREL MISC L4","tag_source":"rule","path_str":"[\"FASHION\",\"CHILDRENS APPAREL\",\"CHILDRENS APPAREL MISC L2\",\"CHILDRENS APPAREL MISC L3\",\"CHILDRENS APPAREL MISC L4\"]"},{"path_id":"[\"50000\",\"52000\",\"52001\",\"52101\",\"52407\"]","id":"52407","locale":"en_US","value":"BODYSUITS","tag_source":"rule","path_str":"[\"FASHION\",\"CHILDRENS APPAREL\",\"BABY\",\"BABY BOY\",\"BODYSUITS\"]"}]}}
 2   {"care_plan_eligible":{"properties":{"fromPcp":"true","added":"Wed Oct 21 03:52:44 UTC 2015","isMultiValued":"false","taxonomy_version":"urn:taxonomy:pcs2.0","attribute_type":"STRING","source":"dotcom_pcp","qid":"WALMART_DOTCOM#0#44425631","attributeId":"93751","isOfferAttribute":"true","requestId":"3030914e-3157-4504-a52a-96561a15b5a6","org_id":"0","attributeName":"Care Plan Eligible","updated":"Wed Dec 09 05:25:35 UTC 2015"},"values":[{"locale":"en_US","source_key":"is_care_plan_eligible","value":"N","display_attr_name":"is_care_plan_eligible","source_value":"N","isPrimary":"true"}]},"all_lhids":{"properties":{"attributeId":"rhid","taxonomy_version":"~draft","attributeName":"Site Taxonomy","taxonomy":"rhid-dotcom","source":"GROCERIES","qid":"GROCERIES#ee6ae9c4-ee0f-459c-89f1-a7c0a2c2ce65#00767052836048","status":"VERIFIED"},"values":[{"path_id":"[\"50000\",\"52000\",\"52004\",\"52123\",\"52508\"]","id":"52508","locale":"en_US","value":"CHILDRENS APPAREL MISC L4","tag_source":"rule","path_str":"[\"FASHION\",\"CHILDRENS APPAREL\",\"CHILDRENS APPAREL MISC L2\",\"CHILDRENS APPAREL MISC L3\",\"CHILDRENS APPAREL MISC L4\"]"},{"path_id":"[\"50000\",\"52000\",\"52001\",\"52101\",\"52407\"]","id":"52407","locale":"en_US","value":"BODYSUITS","tag_source":"rule","path_str":"[\"FASHION\",\"CHILDRENS APPAREL\",\"BABY\",\"BABY BOY\",\"BODYSUITS\"]"}]}}

Product_id 1有" care_plan_eligible"和#34; all_rhids"因为键和Product_id 2有" care_plan_eligible"和#34; all_lhids"作为键和我需要的输出是

[" care_plan_eligible"," all_rhids"," all_lhids"]

0 个答案:

没有答案