Vertica的这些事<三>—— 谈谈vertica的flex table

简介: Json格式对于现在所有的软件开发者都不陌生,很多数据格式都用他来存储,我们来看一下vertica是怎么处理json数据的。这就是vertica的flex table!首先创建一个json文件:{"name": "Everest", "type":"mountain", "height":29029, "hike_safety": 34.1}{"name":

Json格式对于现在所有的软件开发者都不陌生,很多数据格式都用他来存储,我们来看一下vertica是怎么处理json数据的。这就是vertica的flex table!

首先创建一个json文件:

{"name": "Everest", "type":"mountain", "height":29029, "hike_safety": 34.1}
{"name": "Mt St Helens", "type":"volcano", "height":29029, "hike_safety": 15.4}
{"name": "Denali", "type":"mountain", "height":17000, "hike_safety": 12.2}
{"name": "Kilimanjaro", "type":"mountain", "height":14000 }
{"name": "Mt Washington", "type":"mountain", "hike_safety": 50.6}

然后我们创建一个flex table:

dbadmin=> CREATE FLEX TABLE start_json();
CREATE TABLE

然后把数据copy进去:

dbadmin=> COPY start_json FROM '/home/dbadmin/qcfData/*json*' PARSER fjsonparser();
 Rows Loaded 
-------------
           5
(1 row)

查询结果:

dbadmin=> select * from start_json();
ERROR 4256:  Only relations and subqueries are allowed in the FROM clause
dbadmin=>  SELECT maptostring(__raw__) FROM start_json;
                                               maptostring                                                
----------------------------------------------------------------------------------------------------------
 {
   "height" : "29029",
   "hike_safety" : "34.1",
   "name" : "Everest",
   "type" : "mountain"
}

 {
   "height" : "29029",
   "hike_safety" : "15.4",
   "name" : "Mt St Helens",
   "type" : "volcano"
}

 {
   "height" : "17000",
   "hike_safety" : "12.2",
   "name" : "Denali",
   "type" : "mountain"
}

 {
   "height" : "14000",
   "name" : "Kilimanjaro",
   "type" : "mountain"
}

 {
   "hike_safety" : "50.6",
   "name" : "Mt Washington",
   "type" : "mountain"
}

(5 rows)

发现很好的解析了json文件,并且格式化了文件。

查询json数据:

dbadmin=>  SELECT start_json.type,start_json.name FROM start_json;
   type   |     name      
----------+---------------
 mountain | Everest
 volcano  | Mt St Helens
 mountain | Denali
 mountain | Kilimanjaro
 mountain | Mt Washington
(5 rows)

综上,flex table 对json格式的数据提供了很好的存储于展示。

目录
相关文章
|
11月前
|
存储 NoSQL 关系型数据库
【Cassandra从入门到放弃系列 二】Column-based存储模式
【Cassandra从入门到放弃系列 二】Column-based存储模式
162 0
|
Oracle 安全 关系型数据库
|
SQL 分布式计算 并行计算
PostgreSQL 并行计算解说 之7 - parallel create index
标签 PostgreSQL , cpu 并行 , smp 并行 , 并行计算 , gpu 并行 , 并行过程支持 背景 PostgreSQL 11 优化器已经支持了非常多场合的并行。简单估计,已支持27余种场景的并行计算。 parallel seq scan parallel index scan
402 0
|
SQL 分布式计算 并行计算
PostgreSQL 并行计算解说 之5 - parallel create table as
标签 PostgreSQL , cpu 并行 , smp 并行 , 并行计算 , gpu 并行 , 并行过程支持 背景 PostgreSQL 11 优化器已经支持了非常多场合的并行。简单估计,已支持27余种场景的并行计算。 parallel seq scan parallel index scan
1058 0
|
SQL 分布式计算 并行计算
PostgreSQL 并行计算解说 之24 - parallel CTE (Common Table Express)
标签 PostgreSQL , cpu 并行 , smp 并行 , 并行计算 , gpu 并行 , 并行过程支持 背景 PostgreSQL 11 优化器已经支持了非常多场合的并行。简单估计,已支持27余种场景的并行计算。 parallel seq scan
315 0
|
SQL 分布式计算 并行计算
PostgreSQL 并行计算解说 之6 - parallel CREATE MATERIALIZED VIEW
标签 PostgreSQL , cpu 并行 , smp 并行 , 并行计算 , gpu 并行 , 并行过程支持 背景 PostgreSQL 11 优化器已经支持了非常多场合的并行。简单估计,已支持27余种场景的并行计算。 parallel seq scan parallel index scan
481 0
Vertica的这些事<十五>—— Vertica备份元数据信息
—备份资源池 SELECT 'CREATE RESOURCE POOL ' || name || CASE WHEN memorysize IS NULL THEN ' ' ELSE ' MEMORYSIZE ' || '''' || memorysize
1482 0
|
Oracle 关系型数据库 C++
Vertica的这些事<七>—— Vertica中实现Oracle中的ws_concat功能
vertica中没有类似Oracle中的ws_concat函数功能,需要开发UDF,自己对C++不熟悉,所有只有想其他方法解决了。 上代码: SELECT node_state, MAX(DECODE(row_number, 1, a.node_name)) || NVL(MAX(DECODE(row_number, 2, ',' || a.node_
1914 0
Vertica的这些事<十一>—— Vertica 管理
1、版本信息 dbadmin=> SELECT version(); version ------------------------------------ Vertica Analytic Database v7.
1393 0