 Greenplum数据仓库UDW - UCloud中立云计算服务商2、数据库管理 3、模式管理 4、表格设计 5、加载数据 6、分区表 7、序列 8、索引 9、 ANALYZE/VACUUM 10、常⽤SQL⼤全 12、常⽤SQL命令 13、⽤⼾⾃定义函数 ⽬录 Greenplum数据仓库 UDW Copyright © 2012-2021 UCloud 优刻得 3/206 128 132 132 132 139 139 139 141 Json相关操作 Json操作举例 Json相关函数 Json创建函数 Json处理函数 接⼊第三⽅ 接⼊第三⽅ BI ⼯具 ⼯具 ⼀、 UDW 接⼊ Zeppelin ⼆、 UDW 接⼊ SuperSet UDW 使⽤案例 使⽤案例 案例⼀ 利⽤ logstash+Kafka+UDW 对⽇志数据分析 案例⼆ 基于UDW实现⽹络流分析 PXF 扩展 扩展 配置 PXF 服务 创建 EXTENSION 5/206 概览 概览 产品架构 快速上⼿ 操作指南 访问UDW数据仓库 数据导⼊ 开发指南 udw优化指南 表膨胀 UDW中Json类型 接⼊第三⽅ BI ⼯具 UDW 使⽤案例 Pxf 扩展功能 迁移数据 使⽤ pg_dump 使⽤ pxf 外部表 FAQs 数据仓库价格 概览 Greenplum数据仓库 UDW Copyright © 2012-2021 UCloud 优刻得0 码力 | 206 页 | 5.35 MB | 1 年前3 Greenplum数据仓库UDW - UCloud中立云计算服务商2、数据库管理 3、模式管理 4、表格设计 5、加载数据 6、分区表 7、序列 8、索引 9、 ANALYZE/VACUUM 10、常⽤SQL⼤全 12、常⽤SQL命令 13、⽤⼾⾃定义函数 ⽬录 Greenplum数据仓库 UDW Copyright © 2012-2021 UCloud 优刻得 3/206 128 132 132 132 139 139 139 141 Json相关操作 Json操作举例 Json相关函数 Json创建函数 Json处理函数 接⼊第三⽅ 接⼊第三⽅ BI ⼯具 ⼯具 ⼀、 UDW 接⼊ Zeppelin ⼆、 UDW 接⼊ SuperSet UDW 使⽤案例 使⽤案例 案例⼀ 利⽤ logstash+Kafka+UDW 对⽇志数据分析 案例⼆ 基于UDW实现⽹络流分析 PXF 扩展 扩展 配置 PXF 服务 创建 EXTENSION 5/206 概览 概览 产品架构 快速上⼿ 操作指南 访问UDW数据仓库 数据导⼊ 开发指南 udw优化指南 表膨胀 UDW中Json类型 接⼊第三⽅ BI ⼯具 UDW 使⽤案例 Pxf 扩展功能 迁移数据 使⽤ pg_dump 使⽤ pxf 外部表 FAQs 数据仓库价格 概览 Greenplum数据仓库 UDW Copyright © 2012-2021 UCloud 优刻得0 码力 | 206 页 | 5.35 MB | 1 年前3
 Greenplum 精粹文集式,需要一场 计算方式的革命。 传统的主机计算模式在海量数据面前,除了造价昂贵外,在技术上也 难于满足数据计算性能指标,传统主机的 Scale-up 模式遇到了瓶颈, SMP(对称多处理)架构难于扩展,并且在 CPU 计算和 IO 吞吐上不 能满足海量数据的计算需求。 分布式存储和分布式计算理论刚刚被提出来,Google 的两篇著名论文 发表后引起业界的关注,一篇是关于 GFS 分布式文件系统,另外一篇 由此,业界认识到对于海量数据需要一种新的计算模式来支持,这种 模式就是可以支持 Scale-out 横向扩展的分布式并行数据计算技术。 当时,开放的X86服务器技术已经能很好的支持商用,借助高速网络(当 时是千兆以太网)组建的 X86 集群在整体上提供的计算能力已大幅高 于传统 SMP 主机,并且成本很低,横向的扩展性还可带来系统良好 的成长性。 问 题 来 了, 在 X86 集 群 上 实 现 自 动 的 4 16-11-22 下午3:38 Greenplum 精粹文集 5 1) PG 有非常强大 SQL 支持能力和非常丰富的统计函数和统计语法 支持,除对 ANSI SQL 完全支持外,还支持比如分析函数(SQL2003 OLAP window 函数),还可以用多种语言来写存储过程,对于 Madlib、R 的支持也很好。这一点上 MYSQL 就差的很远,很多分 析功能都不支持,而 Greenplum0 码力 | 64 页 | 2.73 MB | 1 年前3 Greenplum 精粹文集式,需要一场 计算方式的革命。 传统的主机计算模式在海量数据面前,除了造价昂贵外,在技术上也 难于满足数据计算性能指标,传统主机的 Scale-up 模式遇到了瓶颈, SMP(对称多处理)架构难于扩展,并且在 CPU 计算和 IO 吞吐上不 能满足海量数据的计算需求。 分布式存储和分布式计算理论刚刚被提出来,Google 的两篇著名论文 发表后引起业界的关注,一篇是关于 GFS 分布式文件系统,另外一篇 由此,业界认识到对于海量数据需要一种新的计算模式来支持,这种 模式就是可以支持 Scale-out 横向扩展的分布式并行数据计算技术。 当时,开放的X86服务器技术已经能很好的支持商用,借助高速网络(当 时是千兆以太网)组建的 X86 集群在整体上提供的计算能力已大幅高 于传统 SMP 主机,并且成本很低,横向的扩展性还可带来系统良好 的成长性。 问 题 来 了, 在 X86 集 群 上 实 现 自 动 的 4 16-11-22 下午3:38 Greenplum 精粹文集 5 1) PG 有非常强大 SQL 支持能力和非常丰富的统计函数和统计语法 支持,除对 ANSI SQL 完全支持外,还支持比如分析函数(SQL2003 OLAP window 函数),还可以用多种语言来写存储过程,对于 Madlib、R 的支持也很好。这一点上 MYSQL 就差的很远,很多分 析功能都不支持,而 Greenplum0 码力 | 64 页 | 2.73 MB | 1 年前3
 Greenplum Database 管理员指南 6.2.1..................... - 221 - 使用函数和运算符 .......................................................................................................... - 223 - 在 GP 中使用函数 ................................. ....................... - 223 - 自定义函数 .............................................................................................................. - 225 - 内置函数和运算符 ................................ ..................... - 226 - 开窗函数 .................................................................................................................. - 228 - 高级聚合函数 .................................0 码力 | 416 页 | 6.08 MB | 1 年前3 Greenplum Database 管理员指南 6.2.1..................... - 221 - 使用函数和运算符 .......................................................................................................... - 223 - 在 GP 中使用函数 ................................. ....................... - 223 - 自定义函数 .............................................................................................................. - 225 - 内置函数和运算符 ................................ ..................... - 226 - 开窗函数 .................................................................................................................. - 228 - 高级聚合函数 .................................0 码力 | 416 页 | 6.08 MB | 1 年前3
 Pivotal Greenplum 5: 新一代数据平台提供强有力的分析改进。通过自动对数据进行分区和并行运行查询,它让 服务器群集能够以单一数据超级计算机的方式运行,且性能比传统数据库或其他同类平台高出数十甚至数百倍。其多种分 析扩展功能支持 ANSI SQL,并通过封装扩展提供多种内置语言和附加功能。Greenplum 能够管理各种规模的数据卷,数 据量从数 GB 到数 PB 不等。 pivotal.io/cn 白皮书 4 © Copyright org 网站下载和编译的版本以及通过 Pivotal Network 分发的打包版本将具有相同的内核(只有个别微小差 别)。这是两年来致力于与 PostgreSQL 8.3.23 集成的成果,目的在于扩展和融入以 Greenplum 为中心的生态系统和社 区。为了更好地贴合 PostgreSQL 社区的模式,他们对代码库进行了重构,这样一来,便可以更轻松地从最新版本(未来 的 PostgreSQL 9 中做高级分析,无论是提供将应用逻辑向下推送至数据所在位置的方法,执行 分析功能,还是以大规模并行方式构建数据模型,都可以实现。Greenplum 5 支持适用于数据挖掘和数据科学工作的最全面、 最先进的分析程序包和扩展。 Greenplum 5 还针对最受欢迎的 Python 和 R 语言算法库提供简单易用的安装程序。 • Greenplum 5 中支持的 Python 语言算法库和程序包有:Tensorf0 码力 | 9 页 | 690.33 KB | 1 年前3 Pivotal Greenplum 5: 新一代数据平台提供强有力的分析改进。通过自动对数据进行分区和并行运行查询,它让 服务器群集能够以单一数据超级计算机的方式运行,且性能比传统数据库或其他同类平台高出数十甚至数百倍。其多种分 析扩展功能支持 ANSI SQL,并通过封装扩展提供多种内置语言和附加功能。Greenplum 能够管理各种规模的数据卷,数 据量从数 GB 到数 PB 不等。 pivotal.io/cn 白皮书 4 © Copyright org 网站下载和编译的版本以及通过 Pivotal Network 分发的打包版本将具有相同的内核(只有个别微小差 别)。这是两年来致力于与 PostgreSQL 8.3.23 集成的成果,目的在于扩展和融入以 Greenplum 为中心的生态系统和社 区。为了更好地贴合 PostgreSQL 社区的模式,他们对代码库进行了重构,这样一来,便可以更轻松地从最新版本(未来 的 PostgreSQL 9 中做高级分析,无论是提供将应用逻辑向下推送至数据所在位置的方法,执行 分析功能,还是以大规模并行方式构建数据模型,都可以实现。Greenplum 5 支持适用于数据挖掘和数据科学工作的最全面、 最先进的分析程序包和扩展。 Greenplum 5 还针对最受欢迎的 Python 和 R 语言算法库提供简单易用的安装程序。 • Greenplum 5 中支持的 Python 语言算法库和程序包有:Tensorf0 码力 | 9 页 | 690.33 KB | 1 年前3
 完全兼容欧拉开源操作系统的 HTAP 数据平台 Greenplum白皮书 6 白皮书 | 6 openEuler 覆盖全场景的创新平台 openEuler 已支持 X86、Arm、RISC-V 多处理器架构,未来还会扩展 PowerPC、SW64 等更多芯片架构支持,持续 完善多样化算力生态体验。 openEuler 社区面向场景化的 SIG 不断组建,推动 openEuler 应用边界从最初的服务器场景,逐步拓展到云计算、边 内存回收算法保障在线业务安全可靠运行。 • 新文件系统 EulerFS:面向非易失性内存的新文件系统,采用软更新、目录双视图等技术减少文件元数据同步 时间,提升文件读写性能。 • 内存分级扩展 etMem:新增用户态 swap 功能,策略配置淘汰的冷内存交换到用户态存储,用户无感知,性能 优于内核态 swap。 2. 夯实云化基座 容器操作系统 KubeOS:云原生场景,实现 具备数据库 ACID 特性,运行符合 ANSI 标准 的 SQL,可以让服务器群集能够以单一数据超级计算机的方式运行,且性能比传统数据库或其他同类平台高出数十甚 至数百倍。其多种分析扩展功能支持 ANSI SQL,并通过封装扩展提供多种内置语言和附加功能。Greenplum 能够 管理各种规模的数据容量,数据量从数 GB 到数 PB 不等。 Greenplum 环境适用性强与其开放性、真正开源、社区活跃有密不可分的关系,一方面0 码力 | 17 页 | 2.04 MB | 1 年前3 完全兼容欧拉开源操作系统的 HTAP 数据平台 Greenplum白皮书 6 白皮书 | 6 openEuler 覆盖全场景的创新平台 openEuler 已支持 X86、Arm、RISC-V 多处理器架构,未来还会扩展 PowerPC、SW64 等更多芯片架构支持,持续 完善多样化算力生态体验。 openEuler 社区面向场景化的 SIG 不断组建,推动 openEuler 应用边界从最初的服务器场景,逐步拓展到云计算、边 内存回收算法保障在线业务安全可靠运行。 • 新文件系统 EulerFS:面向非易失性内存的新文件系统,采用软更新、目录双视图等技术减少文件元数据同步 时间,提升文件读写性能。 • 内存分级扩展 etMem:新增用户态 swap 功能,策略配置淘汰的冷内存交换到用户态存储,用户无感知,性能 优于内核态 swap。 2. 夯实云化基座 容器操作系统 KubeOS:云原生场景,实现 具备数据库 ACID 特性,运行符合 ANSI 标准 的 SQL,可以让服务器群集能够以单一数据超级计算机的方式运行,且性能比传统数据库或其他同类平台高出数十甚 至数百倍。其多种分析扩展功能支持 ANSI SQL,并通过封装扩展提供多种内置语言和附加功能。Greenplum 能够 管理各种规模的数据容量,数据量从数 GB 到数 PB 不等。 Greenplum 环境适用性强与其开放性、真正开源、社区活跃有密不可分的关系,一方面0 码力 | 17 页 | 2.04 MB | 1 年前3
 Greenplum机器学习⼯具集和案例、Ka,a • 各种数据格式:结构化、半结构化(JSON/XML/Hstore)、非结构化 • 强大内核: MPP、优化器、多态存储、灵活分区、高速加载、PG内核 • 强大的灵活性、可扩展:PL/X、Extension、PXF、外部表机制 • 完善的标准支持:SQL、JDBC、ODBC • 集成数据平台:BI/DW、文本、GIS、图、图像、机器学习 • 开放源代码,持续大力投入 • 企业级稳定性,成熟生态系统 2017.thegiac.com Greenplum: 机器学习工具集 2017.thegiac.com • PL/X:各种语言实现自定义函数(存储过程) • MADLib: 数据挖掘、统计分析、图(Graph)等算法 • GPText:文本检索和分析 • GeoSpatial:地理信息数据分析 • Image: 图像数据分析 2017.thegiac.com MADlib 2017.thegiac.com 强⼤大的分析能⼒力力 ● 机器器学习 ● 图形分析 ● 统计分析 MPP系统上的可扩展应⽤用 Apache上的开源项⽬目 ● 发布了了 6 个版本 ● Apache 顶级项⽬目 Pivotal Greenplum0 码力 | 58 页 | 1.97 MB | 1 年前3 Greenplum机器学习⼯具集和案例、Ka,a • 各种数据格式:结构化、半结构化(JSON/XML/Hstore)、非结构化 • 强大内核: MPP、优化器、多态存储、灵活分区、高速加载、PG内核 • 强大的灵活性、可扩展:PL/X、Extension、PXF、外部表机制 • 完善的标准支持:SQL、JDBC、ODBC • 集成数据平台:BI/DW、文本、GIS、图、图像、机器学习 • 开放源代码,持续大力投入 • 企业级稳定性,成熟生态系统 2017.thegiac.com Greenplum: 机器学习工具集 2017.thegiac.com • PL/X:各种语言实现自定义函数(存储过程) • MADLib: 数据挖掘、统计分析、图(Graph)等算法 • GPText:文本检索和分析 • GeoSpatial:地理信息数据分析 • Image: 图像数据分析 2017.thegiac.com MADlib 2017.thegiac.com 强⼤大的分析能⼒力力 ● 机器器学习 ● 图形分析 ● 统计分析 MPP系统上的可扩展应⽤用 Apache上的开源项⽬目 ● 发布了了 6 个版本 ● Apache 顶级项⽬目 Pivotal Greenplum0 码力 | 58 页 | 1.97 MB | 1 年前3
 Greenplum 介绍全球排名第三,实时分 析领域全球排名并列第四。Greenplum 是两个领域中排名前十的产品中的唯一一款开源产品。 Greenplum 基于 MPP(大规模并行处理)架构构建,具有良好的弹性和线性扩展能力,并内置 并行存储、并行通讯、并行计算和优化技术。同时,Greenplum 还兼容 SQL 标准,具备强大、 高效、安全的 PB 级结构化、半结构化和非结构化数据存储、处理和实时分析能力,可部署于企 具有强大内核的平台:Greenplum 具有强大的内核技术,包括数据水平分布、并行查询执 行、专业优化器、线性扩展能力、多态存储、资源管理、高可用、高速数据加载等。 ● 具备强大灵活性和可扩展性的平台: 支持扩展(Extension)、自定义类型和函数、PXF 和外部表技术。可以使用多种语言实现用户自定义函数和聚集,包括 PL/Python、PL/R、 PL/Java、PL/Perl、PL/PGSQL 和0 码力 | 3 页 | 220.42 KB | 1 年前3 Greenplum 介绍全球排名第三,实时分 析领域全球排名并列第四。Greenplum 是两个领域中排名前十的产品中的唯一一款开源产品。 Greenplum 基于 MPP(大规模并行处理)架构构建,具有良好的弹性和线性扩展能力,并内置 并行存储、并行通讯、并行计算和优化技术。同时,Greenplum 还兼容 SQL 标准,具备强大、 高效、安全的 PB 级结构化、半结构化和非结构化数据存储、处理和实时分析能力,可部署于企 具有强大内核的平台:Greenplum 具有强大的内核技术,包括数据水平分布、并行查询执 行、专业优化器、线性扩展能力、多态存储、资源管理、高可用、高速数据加载等。 ● 具备强大灵活性和可扩展性的平台: 支持扩展(Extension)、自定义类型和函数、PXF 和外部表技术。可以使用多种语言实现用户自定义函数和聚集,包括 PL/Python、PL/R、 PL/Java、PL/Perl、PL/PGSQL 和0 码力 | 3 页 | 220.42 KB | 1 年前3
 Greenplum 6: 混合负载的理想数据平台Greenplum 6: 混合负载的理想数据平台 高小明 全球领先的开源MPP大数据平台 可扩展性 ACID事务 VS 分布式 简单易用 VS 结构化 半结构非结构化 VS 事务型 分析型 VS MPP - massively parallel processing - 大规模并行处理 master standby primary are well-showcased 12 Pivotal Confidential–Internal Use Only 卓越的OLAP特性 列式存储 分区、压缩 高级特性 递归查询、窗口函数 集成分析 多格式、多语言 Madlib: 机器学习 数据库内并行模型训练和预测、分类 ORCA 复杂查询优化器 成熟稳定 完备生态、支撑核心生产系统 13 Pivotal Confidential–Internal total_quantity FROM included_parts GROUP BY sub_part 16 Pivotal Confidential–Internal Use Only 窗口函数 表‘SALES’ 表‘SALES’ ■ 计算移动平均值或各种时间 间隔的总和 ■ 分组内重置聚合和排序 SELECT last_name, salary, department0 码力 | 52 页 | 4.48 MB | 1 年前3 Greenplum 6: 混合负载的理想数据平台Greenplum 6: 混合负载的理想数据平台 高小明 全球领先的开源MPP大数据平台 可扩展性 ACID事务 VS 分布式 简单易用 VS 结构化 半结构非结构化 VS 事务型 分析型 VS MPP - massively parallel processing - 大规模并行处理 master standby primary are well-showcased 12 Pivotal Confidential–Internal Use Only 卓越的OLAP特性 列式存储 分区、压缩 高级特性 递归查询、窗口函数 集成分析 多格式、多语言 Madlib: 机器学习 数据库内并行模型训练和预测、分类 ORCA 复杂查询优化器 成熟稳定 完备生态、支撑核心生产系统 13 Pivotal Confidential–Internal total_quantity FROM included_parts GROUP BY sub_part 16 Pivotal Confidential–Internal Use Only 窗口函数 表‘SALES’ 表‘SALES’ ■ 计算移动平均值或各种时间 间隔的总和 ■ 分组内重置聚合和排序 SELECT last_name, salary, department0 码力 | 52 页 | 4.48 MB | 1 年前3
 Greenplum 排序算法第一阶段初始化TupleSort,通过调用函数tuplesort_begin_common,生成 Tuplesortstate。Tuplesortstate用于描述排序所需的信息 ● 第二阶段插入元组,每次调用函数puttuple_common,会根据当前TupleSort的 状态,选择将元组插入到不同的位置。 ● 第三阶段负责实际的排序逻辑,通过调用函数tuplesort_performsort,实现对已 经存储好的输入元组进行排序。根据当前TupleSort的不同状态,输入元组可能 存储在内存或者文件中,TupleSort会选择使用不同的算法进行排序。 ● 第四阶段负责输出排序后元组,在排序完成之后,每次调用函数 tuplesort_gettuple_common,即可获取排序后的元组。同样,根据当前 TupleSort的不同状态,算法选择不同的方式返回有序元组。 TupleSort 38 TupleSort Greenplum站点的每篇文章都以 https://cn.greenplum.org/为前缀。对这些字符串进行排序的时候,多键排序优 势明显。 多键排序 40 ● 多键排序算法:快速排序的扩展 ● 假设待排序数组为a,数组元素是长度为K的字符串, 多键排序 41 多键排序 42 ● Group Aggregation ● Merge Join ● Distinct Aggregation0 码力 | 52 页 | 2.05 MB | 1 年前3 Greenplum 排序算法第一阶段初始化TupleSort,通过调用函数tuplesort_begin_common,生成 Tuplesortstate。Tuplesortstate用于描述排序所需的信息 ● 第二阶段插入元组,每次调用函数puttuple_common,会根据当前TupleSort的 状态,选择将元组插入到不同的位置。 ● 第三阶段负责实际的排序逻辑,通过调用函数tuplesort_performsort,实现对已 经存储好的输入元组进行排序。根据当前TupleSort的不同状态,输入元组可能 存储在内存或者文件中,TupleSort会选择使用不同的算法进行排序。 ● 第四阶段负责输出排序后元组,在排序完成之后,每次调用函数 tuplesort_gettuple_common,即可获取排序后的元组。同样,根据当前 TupleSort的不同状态,算法选择不同的方式返回有序元组。 TupleSort 38 TupleSort Greenplum站点的每篇文章都以 https://cn.greenplum.org/为前缀。对这些字符串进行排序的时候,多键排序优 势明显。 多键排序 40 ● 多键排序算法:快速排序的扩展 ● 假设待排序数组为a,数组元素是长度为K的字符串, 多键排序 41 多键排序 42 ● Group Aggregation ● Merge Join ● Distinct Aggregation0 码力 | 52 页 | 2.05 MB | 1 年前3
 Greenplum 编译安装和调试gpinitsystem 是Bash脚本工具,有些时候它的报错信息很不清楚。这个 时候可以 ○ 使用 -D 选项 ○ gp_bash_functions.sh 是内部一个被频繁调用执行系统命令的函数,可以通过 set -x 可以打印出所有执行的命令的详细信息。对调试 hang 问题很有效。 ● 在合适的代码处启用 Python 调试器,如果不知道什么地方合适,则在入口处。 3. Greenplum ExecutorStart (lldb) b ExecutorRun (lldb) b ExecProcNode (lldb) c (lldb) c (lldb) c (进入 ExecProcNode 函数) * thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 4.1 7.1 frame #0: 0x000000010ca50d9c 0x0000000000000000 可见 master 上的 QD在执行聚集操作,对应的函数是 result = ExecAgg((AggState *) node); (lldb) c Greenplum 会再次断点在 ExecProcNode, 这次的 node 类型是 T_MotionState, 执行 ExecMotion() 函数为 ExecAgg 获得下一个 tuple。 ExecMotion()0 码力 | 15 页 | 2.07 MB | 1 年前3 Greenplum 编译安装和调试gpinitsystem 是Bash脚本工具,有些时候它的报错信息很不清楚。这个 时候可以 ○ 使用 -D 选项 ○ gp_bash_functions.sh 是内部一个被频繁调用执行系统命令的函数,可以通过 set -x 可以打印出所有执行的命令的详细信息。对调试 hang 问题很有效。 ● 在合适的代码处启用 Python 调试器,如果不知道什么地方合适,则在入口处。 3. Greenplum ExecutorStart (lldb) b ExecutorRun (lldb) b ExecProcNode (lldb) c (lldb) c (lldb) c (进入 ExecProcNode 函数) * thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 4.1 7.1 frame #0: 0x000000010ca50d9c 0x0000000000000000 可见 master 上的 QD在执行聚集操作,对应的函数是 result = ExecAgg((AggState *) node); (lldb) c Greenplum 会再次断点在 ExecProcNode, 这次的 node 类型是 T_MotionState, 执行 ExecMotion() 函数为 ExecAgg 获得下一个 tuple。 ExecMotion()0 码力 | 15 页 | 2.07 MB | 1 年前3
共 22 条
- 1
- 2
- 3













