在日常开发中存在使用半结构化数据的场景,当前梧桐数据库支持对该类数据处理的功能,下面结合具体案例介绍半结构化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( 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数据入库,通过语法将半结构化的数据解析为结构化数据,完成数据的入库及解析。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




