在日常开发中存在利用半布局化数据的场景,当前梧桐数据库支持对该类数据处理的功能,下面联合具体案例先容半布局化json数据的处理。
一、创建数据表
- drop table if exists public.tmp_alldata_json_test_202408 ;
- create table public.tmp_alldata_json_test_202408
- (
- id varchar,
- alldata json
- )with (orientation = orc) distributed by (id);
复制代码 注:json类型无法作为分布键,同步创建id主键字段作为分布键。
二、将json数据导入数据表json字段
通过PSQL毗连数据库:
psql -h $IP -d $DataName -U $UserName
Json文件数据copy入库:
\COPY $TableName( D a t a C o l u m n ) F R O M ′ / DataColumn ) FROM '/ DataColumn)FROM′/Dir/$FileName’
三、查询确认入数表数据内容:
- select alldata from public.tmp_alldata_json_test_202408 limit 5;
- {"PhoneNum":"12345678910","CustgLabel":["1234567","78901289"],"Province":"551"}
复制代码 四、利用SQL取数json字段数据中键字符串以及对应数据值
- select
- alldata-> 'PhoneNum' as PhoneNum ,
- alldata-> 'CustgLabel' as CustgLabel ,
- alldata-> 'Province' as Province
- from public.tmp_alldata_json_test_202408
- limit 50;
复制代码 通过以上方式可以将json布局的数据转换成布局化数据,如有需要创建相对应的布局化数据表将解析后的数据插入其中,完成半布局化数据到布局化数据的转换。
五、总结
以上是将json布局的数据转化成布局化数据的入库操作方法,起首通过psql COPY的方式将json数据入库,通过语法将半布局化的数据解析为布局化数据,完成数据的入库及解析。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |