当前位置: 首页 > news >正文

Greenplum实用工具-gpfdist

注:本文翻译自https://docs.vmware.com/en/VMware-Greenplum/7/greenplum-database/utility_guide-ref-gpfdist.html
向Greenplum数据库段提供数据文件或从数据库段写入数据文件。

语法

gpfdist [-d <directory>] [-p <http_port>] [-P <last_http_port>] [-l <log_file>][-t <timeout>] [-S] [-w <time>] [-v | -V] [-s] [-m <max_length>][--ssl <certificate_path> [--sslclean <wait_time>] ][--compress] [--multi_thread <num_threads>][-c <config.yml>]gpfdist -? | --help gpfdist --version

描述

gpfdist是Greenplum数据库并行文件分发程序。它被可读的外部表和gpload使用,以并行地向所有Greenplum数据库段提供外部表文件。可写的外部表使用它来并行地接受来自Greenplum数据库段的输出流,并将它们写入文件。

注:gpfdist和gpload仅与附带它们的Greenplum Database主版本兼容。例如,与Greenplum Database 4一起安装的gpfdist实用程序。不能与Greenplum Database 5.x或6.x一起使用。

为了让外部表使用gpfdist,外部表定义的LOCATION子句必须使用gpfdist://协议指定外部表数据(参见Greenplum数据库命令CREATE external table)。

注:如果指定–ssl选项以启用ssl安全性,则使用gpfdists://协议创建外部表。

使用gpfdist的好处是,在对外部表进行读写操作时,可以保证最大程度的并行性,从而提供最佳性能,并简化对外部表的管理。

对于可读的外部表,当用户从外部表中进行SELECT时,gpfdist将解析数据文件并将其均匀地提供给Greenplum Database系统中的所有段实例。对于可写的外部表,当用户插入到外部表中时,gpfdist接受来自段的并行输出流,并将其写入输出文件。

注:当gpfdist读取数据并遇到数据格式化错误时,错误消息包括一个行号,指示格式化错误的位置。Gpfdist尝试捕获包含错误的行。但是,由于某些格式化错误,gpfdist可能无法捕获准确的行。

对于可读的外部表,如果使用gzip或bzip2压缩加载文件(具有.gz或.bz2文件扩展名),gpfdist会在加载数据时(动态地)解压缩数据。对于可写的外部表,如果目标文件的扩展名为.gz, gpfdist会使用gzip压缩数据。

注:当gpfdist实用程序在Windows平台上运行时,不支持对可读和可写的外部表进行压缩。

当使用gpfdist或gpfdists协议读写数据时,Greenplum Database在HTTP请求头中包含X-GP-PROTO,以表明请求来自Greenplum Database。该实用程序拒绝在请求头中不包含X-GP-PROTO的HTTP请求。

最有可能的是,您希望在您的ETL机器上运行gpfdist,而不是在安装了Greenplum Database的主机上。要在另一台主机上安装gpfdist,只需将该实用程序复制到该主机,并将gpfdist添加到$PATH中。

选项

-d directory
gpfdist将从中为可读的外部表提供文件或为可写的外部表创建输出文件的目录。如果未指定,则默认为当前目录。

-l log_file
将记录标准输出消息的完全限定路径和日志文件名。

-p http_port
gpfdist将在其上提供文件的HTTP端口。默认为8080。

-p last_http_port
HTTP端口号范围(包括http_port到last_http_port)中的最后一个端口号,gpfdist将在该端口号上尝试为文件提供服务。Gpfdist在它成功绑定到的范围内的第一个端口号上提供文件。

-t timeout
设置Greenplum Database与gpfdist进程建立连接所允许的时间。默认为5秒。取值范围为2 ~ 7200秒(2小时)。可能需要在具有大量网络流量的系统上增加。

-m max_length
以字节为单位设置允许的最大数据行长度。默认值是32768。当用户数据包含非常宽的行时(或者当出现行过长的错误消息时)应该使用。不应用于其他用途,因为它增加了资源分配。有效范围是32K到256MB。(Windows系统的上限是1MB。)

-s
启用简化的日志记录。当指定此选项时,只有具有WARN级别及更高级别的消息才会写入gpfdist日志文件。INFO级别的消息不写入日志文件。如果未指定此选项,则将所有gpfdist消息写入日志文件。
您可以指定此选项以减少写入日志文件的信息。

-S(use O_SYNC)
打开带有O_SYNC标志的同步I/O文件。在数据被物理地写入底层硬件之前,对结果文件描述符的任何写操作都将阻塞gpfdist。

-w time
设置Greenplum Database在关闭目标文件(如命名管道)之前延迟的秒数。缺省值为0,无延时。最大值为7200秒(2小时)。
对于具有多个段的Greenplum数据库,在将数据从不同段写入文件时,段之间可能会有延迟。您可以指定Greenplum Database关闭文件之前的等待时间,以确保所有数据都写入该文件。

–ssl certificate_path
对使用gpfdist传输的数据添加SSL加密。在使用——ssl certificate_path选项运行gpfdist之后,从该文件服务器加载数据的唯一方法是使用gpfdist://协议。有关gpfdist://协议的信息,请参见《Greenplum数据库管理员指南》中的“加载和卸载数据”。
“certificate_path”中指定的位置必须包含以下文件:

  • 服务器证书文件server.crt
  • 服务器私钥文件server.key
  • 受信任的证书颁发机构root.crt

根目录(/)不能指定为certificate_path。

–sslclean wait_time
当实用程序使用–ssl选项运行时,设置实用程序在关闭ssl会话之前延迟的秒数,并在完成向Greenplum数据库段写入数据或从数据库段写入数据后清理ssl资源。缺省值为0,无延时。最大值是500秒。如果延迟增加,传输速度降低。
在某些情况下,复制大量数据时可能会出现此错误:gpfdist服务器关闭连接。为了避免这个错误,您可以添加一个延迟,例如–sslclean 5。

–compress
在数据传输过程中启用压缩。当指定时,gpfdist使用Zstandard (zstd)压缩算法。
此选项在Windows平台上不可用。

–multi_threads num_threads
设置gpfdist在数据传输期间使用的最大线程数,并行化操作。当指定时,gpfdist会在传输之前自动压缩数据(也是并行化的)。
Gpfdist最多支持256个线程。
此选项在Windows平台上不可用。

-c config.yaml
指定gpfdist用来在加载或提取数据时选择要应用的转换的规则。gpfdist配置文件是一个YAML 1.1文档。
有关文件格式的信息,请参见《Greenplum数据库管理员指南》中的“配置文件格式”。有关使用gpfdist配置数据转换的信息,请参阅《Greenplum数据库管理员指南》中的使用gpfdist和gpload转换外部数据。
此选项在Windows平台上不可用。

-v(verbose)
详细模式显示进度和状态消息。

-V(very verbose)
详细模式显示此实用程序生成的所有输出消息。

-?(help)
显示联机帮助。

–version
显示此实用程序的版本。

注意

服务器配置参数verify_gpfdists_cert控制当Greenplum Database与gpfdist实用程序通信以从外部数据源读取数据或向外部数据源写入数据时是否启用SSL证书身份验证。您可以将参数值设置为false,以便在测试Greenplum Database外部表与为外部数据提供服务的gpfdist实用程序之间的通信时停用身份验证。如果该值为false,则忽略以下SSL异常:
gpfdist使用的自签名SSL证书不受Greenplum数据库的信任。

SSL证书中包含的主机名与运行gpfdist的主机名不匹配。

您可以设置服务器配置参数gpfdist_retry_timeout,以控制当Greenplum数据库试图将数据写入gpfdist时,如果gpfdist服务器没有响应,那么在返回错误之前,Greenplum数据库等待的时间。默认值为300秒(5分钟)。

如果gpfdist实用程序挂起而没有发生读写活动,则可以在下一次发生挂起时生成核心转储,以帮助调试问题。将环境变量GPFDIST_WATCHDOG_TIMER设置为强制gpfdist退出之前等待无活动的秒数。当设置了环境变量并且gpfdist挂起时,该实用程序将在指定的秒数之后停止,创建一个核心转储,并将相关信息发送到日志文件。

本例在Linux系统上设置环境变量,以便gpfdist在没有活动的300秒(5分钟)后退出。

export GPFDIST_WATCHDOG_TIMER=300

当启用压缩时,gpfdist传输更大量的数据,同时保持较低的网络使用率。请注意,压缩可能是时间密集型的,并且可能会降低传输速度。当您使用多线程执行时,压缩所需的总时间可能会减少,这有助于更快的数据传输,同时保持低网络占用和高速度。

示例

使用端口8081从指定目录提供文件(并在后台启动gpfdist):

gpfdist -d /var/load_files -p 8081 &

要在后台启动gpfdist,并将输出和错误重定向到日志文件:

gpfdist -d /var/load_files -p 8081 -l /home/gpadmin/log &

启用多线程数据传输(隐式压缩)使用四个线程,启动gpfdist如下:

gpfdist -d /var/load_files -p 8081 --multi_thread 4

当gpfdist在后台运行时停止它:
首先找到它的进程id:

ps ax | grep gpfdist

然后停止该进程,例如:

kill 3456

相关文章:

Greenplum实用工具-gpfdist

注&#xff1a;本文翻译自https://docs.vmware.com/en/VMware-Greenplum/7/greenplum-database/utility_guide-ref-gpfdist.html 向Greenplum数据库段提供数据文件或从数据库段写入数据文件。 语法 gpfdist [-d <directory>] [-p <http_port>] [-P <last_http…...

axios和fetch的区别

axios和fetch都是用于发起HTTP请求的工具&#xff0c;但是它们有一些区别&#xff1a; 语法和用法&#xff1a;axios是一个基于Promise的HTTP客户端&#xff0c;具有更简洁和直观的语法&#xff0c;可以方便地发送GET、POST、PUT等各种请求&#xff0c;并提供了更多的请求配置选…...

HTML那些重要的知识点

文章目录 ⭐️写在前面的话⭐️一、HTML1.1 锚点链接跳转到当前页面的指定位置跳转到其他页面的指定位置 1.2 自定义列表1.3 表格的跨行跨列1.4 视频和音频内容1.5 页面结构规范1.6 ifram内联框架1.7 表单1.7.1 form标签1.7.2 原生表单部件1.7.3 下拉框1.7.4 文本域1.7.5 文件域…...

《优化接口设计的思路》系列:第四篇—接口的权限控制

系列文章导航 《优化接口设计的思路》系列&#xff1a;第一篇—接口参数的一些弯弯绕绕 《优化接口设计的思路》系列&#xff1a;第二篇—接口用户上下文的设计与实现 《优化接口设计的思路》系列&#xff1a;第三篇—留下用户调用接口的痕迹 《优化接口设计的思路》系列&#…...

BI系统上的报表怎么导出来?附方法步骤

在BI系统上做好的数据可视化分析报表&#xff0c;怎么导出来给别人看&#xff1f;方法有二&#xff0c;分别是1使用报表分享功能&#xff0c;2使用报表导出功能。下面就以奥威BI系统为例&#xff0c;简明扼要地介绍这两个功能。 1、报表分享功能 作用&#xff1a; 让其他同事…...

电脑WIFI突然消失

文章目录 1. 现象2. 解决办法1&#xff1a;重新启用无线网卡设置3. 解决办法2&#xff1a;更新无线网卡驱动4. 解决办法3&#xff1a;释放静电5. 解决办法4&#xff1a;拆机并重新插拔无线网卡 1. 现象 如下图&#xff1a;电脑在使用过程中WIFI消失 设备管理器中的无线网卡驱…...

http的get与post

get方法&#xff1a; 这个网址可以获取配置信息&#xff08;我把部分位置字符改了&#xff0c;现在打不开了&#xff0c;不然会被追责&#xff09; http://softapi.s103.cn/addons/Kmdsoft/Index/config?productwxdk&partner_id111122&osWindows&os_version11&am…...

MySQL 8 和 MySQL 5.7 在自增计数上的区别

MySQL 8 和 MySQL 5.7 在自增计数上的区别 作者&#xff1a;Arunjith Aravindan 本文来源&#xff1a;Percona 博客&#xff0c;爱可生开源社区翻译。 本文约 900 字&#xff0c;预计阅读需要 2 分钟。 Auto-Increment 自增&#xff08;Auto-Increment&#xff09;计数功能可以…...

Linux系统之links和elinks命令的基本使用

Linux系统之links和elinks命令的基本使用 一、links与elinks命令介绍1. links命令简介2. elinks命令简介 二、links与elinks命令区别三、links命令选项解释四、links命令的基本使用1. links安装2. 查看links版本3. 图形模式打开网址4. 直接使用links命令5. 打印url版本到标准格…...

【00】FISCO BCOS区块链简介

官方文档&#xff1a;https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/introduction.html FISCO BCOS是由国内企业主导研发、对外开源、安全可控的企业级金融联盟链底层平台&#xff0c;由金链盟开源工作组协作打造&#xff0c;并于2017年正式对外开源。 F…...

NPDP产品经理认证怎么报名?考试难度大吗?

PMDA&#xff08;Product Development and Management Association&#xff09;是美国产品开发与管理协会&#xff0c;在中国由中国人才交流基金会培训中心举办NPDP&#xff08;New Product Development Professional&#xff09;考试&#xff0c;该考试是产品经理国际资格认证…...

免杀技术,你需要学习哪些内容

免杀技术&#xff0c;你需要学习哪些内容&#xff1f; 什么是免杀&#xff1f; 免杀是指通过各种技术手段使恶意软件或病毒能够逃避杀毒软件的检测和阻止&#xff0c;成功地感染目标系统。免杀技术是黑客和恶意软件开发者常用的手段之一&#xff0c;用于隐藏恶意代码并绕过安…...

odoo16 取消“系统各功能状态日报”的邮件

odoo16默认情况下每周都会发送一个“系统各功能状态日报”的邮件&#xff0c;而且是所有人都发&#xff0c; 这个功能在哪配置呢&#xff1f; 今天研究了一下&#xff0c; 线索是“系统各功能状态日报”&#xff0c;先全文检索吧 #. module: digest #: model:digest.digest,na…...

[C++ 网络协议] Windows中的线程同步

目录 1. 用户模式(User mode)和内核模式(Kernal mode) 2. 用户模式的同步(CRITICAL_SECTION) 3. 内核模式同步 3.1 互斥量 3.2 信号量 3.3 事件对象 4. 实现Windows平台的多线程服务器端 1. 用户模式(User mode)和内核模式(Kernal mode) Windows操作系统的运行方式是“…...

JavaScript 基础第三天笔记

JavaScript 基础第三天笔记 if 多分支语句和 switch的区别&#xff1a; 共同点 都能实现多分支选择&#xff0c; 多选1大部分情况下可以互换 区别&#xff1a; switch…case语句通常处理case为比较确定值的情况&#xff0c;而if…else…语句更加灵活&#xff0c;通常用于范围…...

NebulaGraph实战:3-信息抽取构建知识图谱

自动信息抽取发展了几十年&#xff0c;虽然模型很多&#xff0c;但是泛化能力很难用满意来形容&#xff0c;直到LLM的诞生。虽然最终信息抽取质量部分还是需要专家审核&#xff0c;但是已经极大的提高了信息抽取的效率。因为传统方法需要大量时间来完成数据清洗、标注和训练&am…...

一百八十二、大数据离线数仓完整流程——步骤一、用Kettle从Kafka、MySQL等数据源采集数据然后写入HDFS

一、目的 经过6个月的奋斗&#xff0c;项目的离线数仓部分终于可以上线了&#xff0c;因此整理一下离线数仓的整个流程&#xff0c;既是大家提供一个案例经验&#xff0c;也是对自己近半年的工作进行一个总结。 二、项目背景 项目行业属于交通行业&#xff0c;因此数据具有很…...

工具篇 | H2数据库的使用和入门

引言 1.1 H2数据库概述 1.1.1 定义和特点 H2数据库是一款以 Java编写的轻量级关系型数据库。由于其小巧、灵活并且易于集成&#xff0c;H2经常被用作开发和测试环境中的便利数据库解决方案。除此之外&#xff0c;H2也适合作为生产环境中的嵌入式数据库。它不仅支持标准的SQL…...

PHP脚本导出MySQL数据库

背景&#xff1a;有时候需要同步数据库的表结构和部分数据&#xff0c;同步全表数据非常大&#xff0c;也不适合。还有一个种办法是使用数据库的dump命令执行备份&#xff0c;无法进入服务器&#xff1f;没有权限怎么办&#xff1f; 这里只要能访问服务器中的 information_sch…...

生成随机单据号

背景&#xff1a;全局生成4位字符2222-9ZZ9 实现方式&#xff1a; 使用redis的原子自增 google的retry保证&#xff0c;生成4位数 1、pom <dependency><groupId>com.github.rholder</groupId><artifactId>guava-retrying</artifactId><v…...

Kafka 3.0.0 集群部署、性能验证与基准测试实战指南

1. Kafka 3.0.0集群部署实战 第一次部署Kafka集群时&#xff0c;我被它复杂的配置项弄得头晕眼花。经过多次实践后&#xff0c;我发现只要抓住几个关键点&#xff0c;就能轻松搭建一个稳定的生产环境。下面分享我的实战经验&#xff0c;帮你避开那些我踩过的坑。 1.1 集群规划…...

电子项目布线指南:从导线、电缆到连接器的核心选型与避坑

1. 项目概述&#xff1a;为什么“线”比“电路”本身更重要&#xff1f;干了十几年电子项目&#xff0c;从学生时代的第一个闪烁LED&#xff0c;到后来复杂的机器人系统和工业控制器&#xff0c;我踩过最多的坑&#xff0c;往往不是芯片选型或代码逻辑&#xff0c;而是那些看起…...

从沙子到车辙(1.3):图灵的答案

1.3 图灵的答案 那个跑步穿过剑桥的人 1935 年&#xff0c;剑桥大学国王学院。一个 23 岁的研究生躺在草地上&#xff0c;望着天空&#xff0c;想着一件事&#xff1a; 什么是"计算"&#xff1f; 他叫艾伦图灵&#xff08;Alan Turing&#xff09;。 这个年轻人…...

vibe coding效率高:一个新mcp server已经试运行尚可

下面是文档&#xff1a; judicial-doc-quality-mcp v0.1.0 司法裁判文书质量评估 MCP 服务器 — 桥接架构&#xff0c;零 LLM 调用 English | 中文 概述 judicial-doc-quality-mcp 是一个基于 Model Context Protocol (MCP) 的裁判文书质量评估服务器&#xff0c;采用**桥接…...

【更新至2025年】2001-2025年上市公司年报文本数据(txt格式)

【更新至2025年】2001-2025年上市公司年报文本数据&#xff08;txt格式&#xff09; 1、时间&#xff1a;2001-2025年 2、来源&#xff1a;巨潮资讯网 3、范围&#xff1a;A股上市公司 4、样本量&#xff1a;共7.2W份 5、说明&#xff1a;上市公司年报文本数据可以挖掘文本…...

7.Linux笔记:shell

1.shellshell就是Linux内核的一个外层保护工具&#xff0c;并负责完成用户与内核之间的交互。用户>shell>内核>硬件内核是操作系统最基本的部分。它是为众多应用程序提供对计算机硬件的安全访问的一部分软件&#xff0c;这种访问是有限的&#xff0c;内核决定一个程序…...

AnyLogic新手避坑指南:搞懂‘空间逻辑’和‘层’,你的第一个行人仿真模型就成功了一半

AnyLogic行人仿真空间逻辑完全解析&#xff1a;从概念混淆到精准建模 第一次打开AnyLogic的行人仿真模块时&#xff0c;那个充满蓝色网格的3D空间和密密麻麻的参数面板&#xff0c;很容易让人产生一种错觉——这不过是个"高级版流程图工具"。直到亲眼目睹自己精心设计…...

选择智能体框架:LangChain、AutoGen、CrewAI、Dify对比

去年秋天&#xff0c;我们团队准备上一个新项目&#xff0c;一个可以为客户自动生成月度运营分析报告的智能体。需求不复杂&#xff0c;就是每周从数据库里拉点数据&#xff0c;跑一下趋势分析&#xff0c;最后产出一个带图表和结论的PDF。 我那时候刚花了三个月时间把LangCha…...

5G入网第一步:手把手拆解Msg3 PUSCH传输的时频资源分配(附避坑指南)

5G入网第一步&#xff1a;手把手拆解Msg3 PUSCH传输的时频资源分配&#xff08;附避坑指南&#xff09; 当5G终端尝试接入网络时&#xff0c;随机接入流程中的Msg3 PUSCH传输往往是工程师们遇到的第一个技术深水区。作为首个由基站调度的上行共享信道传输&#xff0c;Msg3承载着…...

长期使用 Taotoken 过程中对其服务稳定性的主观感受记录

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 长期使用 Taotoken 过程中对其服务稳定性的主观感受记录 1. 背景与使用模式 过去的一个季度&#xff0c;我负责的一个中型项目进入…...