下载软件之前请仔细阅读
除非支持材料中明确允许,否则您的使用受到以下限制:
您最多可以使用1TB(包括Parquet和ORC外部表)和3个节点。
您不得使用软件向第三方提供服务。
您不得将软件分发,转售,共享或再许可给第三方。
除非您拥有基础软件的许可,否则不得下载和使用补丁程序,增强功能,错误修复程序或类似更新。社区版许可证不授予您接收此类更新的权利。
您不得复制本软件或将本软件应用于公共或外部分布式网络上。
您可以出于存档目的或作为授权使用中必不可少的步骤复制该软件,只要您保留该软件中的任何产品标识,商标,版权或其他声明即可。
您不得修改、进行反向工程、反汇编、解密、反编译或制作本软件的衍生作品。如果您有依法这样做的权利,则必须首先以书面形式告知Microfocus有关此类修改的信息。
您不得将任何来源与本软件相关的性能信息或分析(包括但不限于基准和性能测试)透露给任何第三方。
附加条款适用:https : //www.microfocus.com/en-us/legal/software-licensing。
2020-12-30
什么是复杂数据类型(Complex Data Types)?
我们从定义开始。复杂数据类型时由原始数据类型组成的内嵌数据结构。这些数据结构也可以由其他复杂数据类型构成。一些复杂数据类型的例子,包括结构(行),数组/列表,图和并集。
基本所有编程语言都支持复杂数据类型,包括Python、C++和Java。也有一些数据库支持复杂数据类型,比如PostgreSQL,在其8.0版本就包含了复杂数据类型。
当然,Vertica也是支持的。我们所做的,不仅仅查询ORC和Parquet中的复杂数据类型,是一个更加丰富,完整的支持,更加快速,不需要首先把这些文件转换成一个更大的行或者列格式。
复杂类型例子:
Array-array是一个相同数据类型的元素的集合。可以是int、float或者任何一种字符串(string、char、varchar这些)或者其他复杂类型。Array这个数据类型和Java的arraylist非常类似。
Map-map数据类型是一些键值对。这种数据类型给键赋予了一个值。举个例子,一个城市会被赋予一个邮政编码或者说电话号。
在Vertica中,map中的键和值的数据类型不必相同。然而键只能是基础数据类型(不能是复杂数据类型)。而值可以是任何一种array支持的数据类型。
Array和map的复杂数据类型也被叫做“collections”。
Struct-struct是一种复合的数据类型,可以包括其他复杂和简单数据类型。Struct中的数据类型不需要相同(和array一样)。这种灵活性使得用户可以在同一个名字下将多种数据类型结合起来。
这是一个struct的例子,SimpleCustomer是一个struct,其中包含了varchar类型的name和int类型的id。
内嵌复杂数据类型
即使你觉得这样已经够复杂了,不妨设想一下,在复杂数据类型中,再嵌套复杂数据类型。
现在,你是不是明白他们为什么叫复杂数据类型了?