首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >向Greenplum中导入json数据

向Greenplum中导入json数据

原创
作者头像
岳涛
修改于 2021-09-26 09:21:44
修改于 2021-09-26 09:21:44
1.3K00
代码可运行
举报
文章被收录于专栏:大数据生态大数据生态
运行总次数:0
代码可运行

说明

本文描述问题及解决方法同样适用于 腾讯云 云数据仓库 PostgreSQL(CDWPG),其中使用到的外部对象存储腾讯云 对象存储(Cloud Object Storage,COS)

JSON概述

JSON是一种文本方式展示结构化数据的方式,从产生的时候开始就由于其简单好用、跨平台,特别适合HTTP下数据的传输(例如现在很流行的REST)而被广泛使用。Greenplum 5.0开始正式支持了JSON格式的数据类型,可以在SQL语句中方便的检索和使用JSON结构中的各个关键字。

导入json数据

Greenplum原生支持了JSON类型,因此有了便捷的方式导入JSON文件,例子如下:

创建外部表导入json数据

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
dy_test=# CREATE EXTERNAL TABLE json_demo (data json) 
dy_test-# LOCATION('cos://dy-cdwpg-1301087413.cos.ap-guangzhou.myqcloud.com/json_demo/ 
dy_test'#           secretId=<secretId>
dy_test'#           secretKey=<secretKey>')
dy_test-# FORMAT 'text';
CREATE EXTERNAL TABLE
dy_test=# 
dy_test=# SELECT * FROM json_demo;
              data               
---------------------------------
 {"name":"dy","city":"shanghai"}
(1 row)

这里对象存储COS的路径同样可以替换成系统路径,区别只是存储介质不一样。

创建内部表插入json数据

利用内置的JSON操作符,通过如下命令即可完成JSON的插入

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
dy_test=# CREATE TABLE json_data (name text, city text);
CREATE TABLE
dy_test=# 
dy_test=# INSERT INTO json_data
dy_test-# SELECT data->'name',
dy_test-#        data->'city'
dy_test-# FROM json_demo;
INSERT 0 1
dy_test=# 
dy_test=# SELECT * FROM json_data;
 name |    city    
------+------------
 "dy" | "shanghai"
(1 row)

知识扩展

重要的列分隔符

需要注意的是外部表在进行列切割时,会检查指定的列分隔符,因此尽量选择一个不会出现的字符当作列分隔符。

这里建议指定ASCII编码值'\001'来作为分隔符。'\001'本身是一种不可见字符,键盘是打不出来的。在linux终端里看到是^A,在notePad打开时看到的SOH。所以使用'\001'它作为分隔符再合适不过,可以参考下面的建表语句。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
dy_test=# CREATE EXTERNAL TABLE json_demo (data json) 
dy_test-# LOCATION('cos://dy-cdwpg-1301087413.cos.ap-guangzhou.myqcloud.com/json_demo/ 
dy_test'#           secretId=<secretId>
dy_test'#           secretKey=<secretKey>')
dy_test-# FORMAT 'TEXT' (DELIMITER E'\001');
CREATE EXTERNAL TABLE
dy_test=# 
dy_test=# SELECT * FROM json_demo;
              data               
---------------------------------
 {"name":"dy","city":"shanghai"}
(1 row)

小结

这里介绍了如何向Greenplum中导入JSON数据,由于Greenplum5.0以上就增加了原生的JSON格式支持,因此可以直接对外部的JSON文件进行复杂的解析操作,一步到位的完成数据的转换和加载。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
手把手教你搭建永久运行的个人网盘-云托管实战
云托管一键部署直达,复制链接安装,同时修改运行模式为持续运行。https://tcb.cloud.tencent.com/dev#/platform-run/service/create?type=image&image=nextcloud&serverName=nextcloud
腾讯云开发TCB
2025/07/12
2340
手把手教你搭建永久运行的个人网盘-云托管实战
【玩转腾讯云】腾讯云对象存储COS + 数据万象CI = 完善的图片解决方案
在日常开发当中,我们必然会遇到一些图片存储问题,例如用户头像、聊天发生的图片等,而这些图片资源存储是个问题,普遍做法都是直接落在服务器上进行存储,而我推荐的是图片资源的存储直接上云使用云存储,本地可以保留备份,读取数据走云存储,同时可以增加CDN等。
沈唁
2020/03/27
8.9K11
【玩转腾讯云】腾讯云对象存储COS + 数据万象CI = 完善的图片解决方案
Snova基础篇(一):生产环境搭建及运行测试数据
本节主要从snova基础环境构建入手,为snova用户提供直观操作感受。 目录: 腾讯云平台snova集群创建 控制台使用指南 snova数据库访问方式 内表-外表创建,cos对象存储数据交互 ---- 基本概念: 名词 释义 集群 集群是Snova 的基本使用单位,一个集群通常由 2 个 master 节点和多个计算节点组成。 每个用户根据业务需求可在多地建立多个集群。 计算节点 集群的基本存储和计算单元,每个集群计算节点个数不少于 2 个,随着计算节点增加,可线性提升集群容量和性能。 节点规格 计算节点
snova-最佳实践
2019/12/18
1.1K0
Snova基础篇(一):生产环境搭建及运行测试数据
Greenplum 实时数据仓库实践(9)——Greenplum监控与运维
想要一个数据库长久健康的运行,离不开完备的运维工作,切忌只运而不维。针对Greenplum分布式数据库,集群由大量服务器组成,对运维人员或DBA,不仅要关注数据库本身,还要注意集群中各硬件的状况,及时发现并处理问题。本篇介绍权限与角色管理、数据导入导出、性能优化、例行监控、例行维护、推荐的监控与维护任务六方面常规工作内容,目标是满足Greenplum系统维护、使用等方面的要求,保证提供稳定高效的数据库服务。
用户1148526
2022/04/13
4.2K0
利用STS临时密钥服务快速搭建直传页面的实践
作者简介 吴硕卫:腾讯云技术支持工程师,现负责腾讯云存储产品的技术支持专项工作。 为了实现权限分离,提供更细颗粒度的权限控制,有效的控制帐号生效周期,本文通过腾讯云 CAM 产品的 STS(临时访问凭证)来实现部署,调试,验证等一系列的操作体验。 主要介绍基于腾讯云对象存储 COS,如何使用 COS 签名工具和 HTTP 请求工具 Postman 来验证临时密钥的有效性,以及如何快速实现一个 Web 端页面的文件直传功能。服务器上只需要生成和管理访问密钥,无需关心细节,文件数据都存放在腾讯云 COS
云存储
2020/08/07
3.8K0
CentOS 7 挂载腾讯云COS对象存储教程
本文将详解使用腾讯云cosfs工具将COS对象存储的存储桶挂载到CentOS 7服务器的教程.其他平台及常见问题请参考官方说明:
用户8851537
2021/07/30
5.8K0
微信小程序使用腾讯云对象储存上传图片
对象存储(Cloud Object Storage,COS)控制台提供存储数据概览页面,您可以在该页面中查看存储桶数量、对象数量、存储用量、请求数以及流量等数据。
lyudev
2022/08/04
10.3K0
微信小程序使用腾讯云对象储存上传图片
HAWQ技术解析(九) —— 外部数据
本文介绍了如何使用hawq-export工具将Hive数据导出为JSON格式,并介绍在HBase和HDFS上存储JSON格式数据的方法。同时,本文还介绍了在hawq-import工具中如何将JSON数据导入到Hive表中。
用户1148526
2018/01/03
3.6K0
HAWQ技术解析(九) —— 外部数据
EMR数据导入Snova云数仓
在数据仓库的建设中,通常我们使用Hive处理原始数据(PB级别),进行耗时较长的ETL工作,再将结果数据(TB级别)交由准实时的计算引擎(如Snova)对接BI工具,保证报表的准实时展现。
lambgong
2020/04/25
2.5K1
打造次世代分析型数据库(八):高效数据导入导出方案
作者介绍 ceciliasu(苏翠翠),腾讯云数据库工程师,加入腾讯以来持续从事分布式数据库内核研发工作,曾负责TDSQL PG版、CDW PG快速扩容能力设计和研发。目前主要参与CDW PG数据库内核研发相关工作,负责外部数据快速导入工具的设计和研发。 原生数据导入导出方式以及存在的问题 使用原生COPY导入数据相当耗时,这是因为在CN上执行COPY导入数据是一个串行执行的过程,所有数据都需要经过CN处理分发给不同DN入库,所以CN是瓶颈,它只适合小数据量的导入。 图表 1 COPY数据流向示意图 TD
腾讯云大数据
2022/11/11
8220
打造次世代分析型数据库(八):高效数据导入导出方案
内容审核实践 | 即时通讯 IM 场景
一些用户使用即时通信 IM 产品开发实现自己的聊天业务,但对于聊天之间的消息无法很好的去管控内容是否违规。
云存储
2021/09/27
2.2K0
内容审核实践  |  即时通讯 IM 场景
Greenplum数据库使用总结--目录部分
目录 目录- 2 - 1 Greenplum整体架构信息- 9 - 1.1 架构图示- 9 - 1.2 Master主机与Segment主机任务- 9 - 1.3 数据库分布键分布数据策略- 10 - 1.3.1 HASH策略- 10 - 1.3.2 随机分布- 10 - 1.4 master主节点获取segment节点上的数据顺序- 10 - 2 Greenplum数据库常用知识- 10 - 2.1 Greenplum 概念- 10 - 2.2 OLTP与OLAP的理解- 11 - 2.2.1 描述概念-
小徐
2019/08/05
1.5K0
GooseFS透明加速能力,助力加速 CosN 访问 COS 的性能
原生的对象存储接口协议并不兼容HDFS文件语义,因此对象存储COS提供了COSN工具这一的标准的 Hadoop 文件系统实现,可以为 Hadoop、Spark 以及 Tez 等大数据计算框架集成 COS 提供支持。
云存储
2021/08/11
4460
Greenplum常见创建表方式与说明
drop table if exists test_head; create table test_head(id int primary key) distributed by (id);
小徐
2018/09/27
5.1K0
Greenplum常见创建表方式与说明
不用写一行代码,deepseek结合腾讯云语音识别来批量转录Mp3音频
不用写一行代码,deepseek结合腾讯云语音识别来批量转录Mp3音频 首先,打开window系统中的cmd命令行工具,或者powershell,安装腾讯云t
AIGC部落
2024/06/23
2.6K0
不用写一行代码,deepseek结合腾讯云语音识别来批量转录Mp3音频
【腾讯云上实践】内容审核实践 | 即时通讯 IM 场景
一些用户使用即时通信 IM 产品开发实现自己的聊天业务,但对于聊天之间的消息无法很好的去管控内容是否违规。
TCS-F
2021/10/09
5.1K0
【腾讯云上实践】内容审核实践 | 即时通讯 IM 场景
GreenPlum装载和卸载工具(外部表、gpfdist、gpload等)
在创建外部表定义时,必须指定文件格式和文件位置 三种用来访问外部表数据源的协议:gpfdist, gpfdists和gphdfs
AiDBA宝典
2023/11/01
2.1K0
GreenPlum装载和卸载工具(外部表、gpfdist、gpload等)
使用腾讯云go sdk 查询对象存储中最新文件
我现在想确认某一个对象存储桶的活跃程度,简单的来说。我想知道这个桶里面最后上传的一个文件是什么,以及它的上传时间戳。
对你无可奈何
2024/02/28
3700
云数据仓库 PostgreSQL COS使用经验
Snova云数仓支持直接分析或者导入腾讯对象存储COS里的数据,本文列举了在使用COS场景下的一些技巧和注意事项。
lambgong
2018/10/26
11.8K0
腾讯云主机安装COSFS工具并使用COS对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。
yuanfan2012
2021/01/28
4K0
推荐阅读
相关推荐
手把手教你搭建永久运行的个人网盘-云托管实战
更多 >
交个朋友
加入[数据] 腾讯云技术交流站
获取数据实战干货 共享技术经验心得
加入数据技术工作实战群
获取实战干货 交流技术经验
加入[数据库] 腾讯云官方技术交流站
数据库问题秒解答 分享实践经验
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档