greenplum创建外部表笔记-readable篇

Greenplum外部表原理 外部表是greenplum的一种数据表,它与普通表不同的地方是:外部表是用来访问存储在greenplum数据库之外的数据。如普通表一样,可使用SQL对外部表进行查询和插入操作。外部表主要用于Greenplum数据的导入及导出。 本文按照以下顺序介绍外部表:外部表创建和使用,外部表读写实现机制,外部数据转换,外部表的查询计划,外部表的事务,使用可读外部表加载数据。 一 外部表创建和使用 Gre... 阅读详情
外部表的应用:
1.创建可读外部表例子:
 [gpadmin@mdw gpfdist]$ cat>employee.txt
CREATE READABLE EXTERNAL TABLE EX_EMPLOYEE
 (
    employee_id           varchar(10),
    employee_name         varchar(100),
    entry_area            varchar(10),            
    work_area             varchar(10),                
    entry_date            date,    
    work_position         varchar(10),
    salary_amount         decimal(18,2),            
    phone_number          varchar(11),            
    e_mail                varchar(50)    
 )
 LOCATION ('gpfdist://192.168.245.128:8099/data1/gpfdist/employee.txt')
 FORMAT 'TEXT'(DELIMITER '|+|')
 ENCODING 'UTF-8'
 LOG ERRORS INTO ERROR_EMPLOYEE SEGMENT REJECT LIMIT 1000 rows
;^C
[gpadmin@mdw gpfdist]$ psql -d gpload_testdb -f employee.txt
psql:employee.txt:16: NOTICE:  Error table "error_employee" does not exist. Auto generating an error table with the same name

psql:employee.txt:16: ERROR:  delimiter must be a single ASCII character, or 'off'

这部分的错误是由于分割符的问题,应该是不支持‘|+|’这种分割方式,下面换成|竖线分割

[gpadmin@mdw gpfdist]$ cat>employee.txt
^C                                            
[gpadmin@mdw gpfdist]$ cat>employee.txt
CREATE READABLE EXTERNAL TABLE TEST.EX_EMPLOYEE
 (
    employee_id           varchar(10),
    employee_name         varchar(100),
    entry_area            varchar(32),            
    work_area             varchar(32),                
    entry_date            date,    
    work_position         varchar(32),
    salary_amount         decimal(18,2),            
    phone_number          varchar(32),            
    e_mail                varchar(50)    
 )
 LOCATION ('gpfdist://192.168.245.128:8099/employee.txt')
 FORMAT 'TEXT'(DELIMITER '|')
 ENCODING 'GBK'
 LOG ERRORS INTO TEST.ERROR_EMPLOYEE SEGMENT REJECT LIMIT 1000 rows
;
^C

这里使用的是gpfdist协议方式创建外部表

LOCATION ('gpfdist://192.168.245.128:8099/employee.txt')内部的

gpfdist://192.168.245.128:8099/employee.txt读取的是gpfdist -d directory里面的文件,这里不需要指定全路径,只需要指定directory内部的文件

encoding是设置编码格式

LOG ERRORS INTO TEST.ERROR_EMPLOYEE SEGMENT REJECT LIMIT 1000 rows 这里使用rows 选项,是指定错误记录行数,错误行的计录数是每个segment的,不是一个整个数据库系统的。


[gpadmin@mdw gpfdist]$ psql -d gpload_testdb -f employee.txt
psql:employee.txt:17: NOTICE:  Error table "error_employee" does not exist. Auto generating an error table with the same name
CREATE EXTERNAL TABLE
然后创建成功

2.开启gpfdist服务
[gpadmin@mdw gpfdist]$ gpfdist -d /data1/gpfdist/ -p 8099 -l /home/gpadmin/log &

[1] 9015

也可以使用nohup gpfdist -d /data1/gpfdist/ -p 8099 >> /home/gpadmin/log &

这种方式去挂起gpfdist服务

当然,也可以在一台segment节点上起多个gpfdist服务

参数说明,-d表示数据文件目录,-p表示端口号,-l表示日志文件

/home/gpadmin/log 这个log是一个文件,不是一个目录


[gpadmin@mdw gpfdist]$ Serving HTTP on port 8099, directory /data1/gpfdist


[gpadmin@mdw gpfdist]$ 
[gpadmin@mdw gpfdist]$ 
[gpadmin@mdw gpfdist]$ 
[gpadmin@mdw gpfdist]$ jobs
[1]+  Running                 gpfdist -d /data1/gpfdist/ -p 8099 -l /home/gpadmin/log &


gpload_testdb=#create table test.employee (like test.ex_employee);


gpload_testdb=# insert into test.employee select * from test.ex_employee;
INSERT 0 14


gpload_testdb=# show server_encoding;
 server_encoding 
-----------------
 UTF8
(1 row)


gpload_testdb=# show client_encoding;
 client_encoding 
-----------------
 UTF8
(1 row)


查询表数据
gpload_testdb=# select * from test.employee;
 employee_id | employee_name | entry_area | work_area | entry_date | work_position | salary_amount | phone_number | e_mail 
-------------+---------------+------------+-----------+------------+---------------+---------------+--------------+--------
 000001      | 涓€            | 鍖椾含       | 鍖椾含      | 2016-01-01 | technician    |      10000.00 | 18511130000  | NULL
 000002      | 浜           | 鍖椾含       | 鍖椾含      | 2016-01-01 | technician    |      10000.00 | 18511130001  | NULL
 000003      | 涓           | 鍖椾含       | 鍖椾含      | 2016-01-01 | manager       |      20000.00 | 18511130002  | NULL
 000004      | 鍥           | 鍖椾含       | 鍖椾含      | 2016-01-04 | sales         |      10000.00 | 18511130003  | NULL
 000005      | 浜           | 鍖椾含       | 鍖椾含      | 2016-01-05 | sales         |      10000.00 | 18511130004  | NULL
 000006      | 鍏           | 澶╂触       | 鍖椾含      | 2016-01-05 | sales         |      10000.00 | 18511130005  | NULL
 000007      | 涓           | 澶╂触       | 娣卞湷      | 2016-01-05 | sales         |      10000.00 | 18511130006  | NULL
 000008      | 鍏           | 澶╂触       | 澶╂触      | 2016-01-08 | sales         |      10000.00 | 18511130007  | NULL
 000009      | 涔           | 澶╂触       | 澶╂触      | 2016-01-09 | sales         |      10000.00 | 18511130008  | NULL
 000010      | 鍗           | 澶╂触       | 娣卞湷      | 2016-01-09 | sales         |      10000.00 | 18511130009  | NULL
 000011      | 鍗佷竴          | 骞垮窞       | 娣卞湷      | 2016-01-09 | sales         |      10000.00 | 18511130010  | NULL
 000012      | 鍗佷簩          | 骞垮窞       | 骞垮窞      | 2016-01-12 | sales         |      10000.00 | 18511130011  | NULL
 000013      | 鍗佷笁          | 骞垮窞       | 骞垮窞      | 2016-01-13 | sales         |      10000.00 | 18511130012  | NULL
 000014      | 鍗佸洓          | 骞垮窞       | 涓婃捣      | 2016-01-14 | sales         |      10000.00 | 18511130013  | NULL
(14 rows)
设置客户端字符集session级别
gpload_testdb=# \encoding GBK
gpload_testdb=# select * from test.employee;
 employee_id | employee_name | entry_area | work_area | entry_date | work_position | salary_amount | phone_number | e_mail 
-------------+---------------+------------+-----------+------------+---------------+---------------+--------------+--------
 000001      | 一            | 北京       | 北京      | 2016-01-01 | technician    |      10000.00 | 18511130000  | NULL
 000002      | 二            | 北京       | 北京      | 2016-01-01 | technician    |      10000.00 | 18511130001  | NULL
 000003      | 三            | 北京       | 北京      | 2016-01-01 | manager       |      20000.00 | 18511130002  | NULL
 000004      | 四            | 北京       | 北京      | 2016-01-04 | sales         |      10000.00 | 18511130003  | NULL
 000005      | 五            | 北京       | 北京      | 2016-01-05 | sales         |      10000.00 | 18511130004  | NULL
 000006      | 六            | 天津       | 北京      | 2016-01-05 | sales         |      10000.00 | 18511130005  | NULL
 000007      | 七            | 天津       | 深圳      | 2016-01-05 | sales         |      10000.00 | 18511130006  | NULL
 000008      | 八            | 天津       | 天津      | 2016-01-08 | sales         |      10000.00 | 18511130007  | NULL
 000009      | 九            | 天津       | 天津      | 2016-01-09 | sales         |      10000.00 | 18511130008  | NULL
 000010      | 十            | 天津       | 深圳      | 2016-01-09 | sales         |      10000.00 | 18511130009  | NULL
 000011      | 十一          | 广州       | 深圳      | 2016-01-09 | sales         |      10000.00 | 18511130010  | NULL
 000012      | 十二          | 广州       | 广州      | 2016-01-12 | sales         |      10000.00 | 18511130011  | NULL
 000013      | 十三          | 广州       | 广州      | 2016-01-13 | sales         |      10000.00 | 18511130012  | NULL
 000014      | 十四          | 广州       | 上海      | 2016-01-14 | sales         |      10000.00 | 18511130013  | NULL

(14 rows)

以上是gpfdist加载外部数据的用法,当然也可以使用gpfdists工具,这个是gpfdist的安全版本,支持ssl加密

--------------------------------------------------------------------------------------------------------

以上是今天的笔记,比较粗,望大神指点一二,谢谢

----------------------------

gp初学者

AI智能体升级实战:从规则匹配到Function Call,准确率提升86%的技术选型之路 AI智能体升级实战:从规则匹配到Function Call的技术演进 文章记录了AI邮件助手从传统规则匹配升级到Function Call的技术迭代过程。通过案例分析,揭示了规则匹配的三大核心问题:覆盖不全(用户表达千变万化)、组合困难(多条件容易漏掉)、维护噩梦(每个需求都要新增规则)。测试数据显示,规则匹配在复杂查询中的准确率仅51%,严重影响用户体验。 技术团队对比了三种升级方案:1) 继续优化规则匹配(天花板明显);2) 微调专用NLP模型(成本高);3) 采用Function Call(灵活高效) 阅读详情

相关推荐

SDU CS 期末考回忆版合集

删除原有分散的版本,合订起来画个。包括:机器学习、算法、图形学、操作系统、编译原理、软件工程、大数据分析管理、计算机体系结构等。

https://github.com/ZhaoyungZhang 6648

GreenPlum创建外部表示例

Example 1—Single Greenplum file server (gpfdist) instance on multiple NIC machine Creates a readable external table named ext_expenses using the gpfdist protocol. The files are formatted with a pipe

Zhong Weicheng Study Notes 4995

鸿蒙实战开发教程-注册登录页面

在密码输入框中,只要设置TextInput的类型就可以实现带眼睛logo的密码输入框效果:

2401_82546228的博客 3559

GP中外部表例子

创建外部表注意事项: 同一台机器上的外部表对应的gpfdist端口号尽量错开,从8081-8088 gpfdist -p 8081 -d /ftp2/interface/data/GPload_home 创建可写外部表: Greenplum也支持对外部表的写操作。这需要在创建表的时候指定写关键字: CREATE WRITABLE EXTERNAL TABLE weblogs (

learning_oracle的博客 5865

中国城市统计年鉴1991-2024面板数据真正无缺失值填补指标说明

大学普通高等中等职业教育成人中小学学前教育在校学生人数。大学普通高等中等职业教育成人中小学学前教育在校学生人数。大学普通高等中等职业教育成人中小学学前教育在校学生人数。大学普通高等中等职业教育成人中小学学前教育在校学生人数。大学普通高等中等职业教育成人中小学学前教育在校学生人数。大学普通高等中等职业教育成人中小学学前教育在校学生人数。大学普通高等中等职业教育成人中小学学前教育在校学生人数。大学普通高等中等职业教育成人中小学学前教育在校学生人数。大学普通高等中等职业教育成人中小学学前教育在校学生人数。

yushibing717的博客 928

Pinocchio 安装教程|机器人学的必备库

安装pinocchio,不要安装pip3 install pinocchio!

darcsdn 1660

gpload delimiter must be single ASCII character, you can also use unprintable characters(for example

delimiter must be single ASCII character, you can also use unprintable characters(for example: '\x1c' / E'\x1c' or '\u001c' / E'\u001c' 分割符不对,需要核实分割符的准确性

weixin_42404102的博客 807

DeepSeek Harness实战:从零构建插件化AI Agent

AI Agent开发正从硬编码走向框架化组织,插件化架构成为提升工程效率的关键。在构建可复用、可扩展的智能体系统时,开发团队需要一套能够统一管理模型调用、工具注册与上下文组装的基础设施。DeepSeek Harness作为面向Agent工程的插件化框架,通过Harness、DeepAgent与Skill三个核心抽象,将模型、工具与技能解耦为可插拔单元,让开发者无需重复造轮子即可快速搭建具备工具调用能力的智能体。本文从环境配置到Skill插件开发,完整演示如何基于DeepSeek模型构建一个可运行的Agent

weixin_34279184的博客 443

linux之cut用法

cut是一个选取命令,就是将一段数据经过分析,取出我们想要的。一般来说,选取信息通常是针对“行”来进行分析的,并不是整篇信息分析的。 (1)其语法格式为:cut [-bn] [file] 或 cut [-c] [file] 或 cut [-df] [file] 使用说明cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。如果不指定 File 参数...

dengdiaoji0891的博客 3012

Zabbix Trigger actions访问出现500

本篇博客详细介绍了Zabbix访问'Trigger actions'出现的错误状况,访问界面出现500,并提供了解决方案。

格子的博客 562

Open3D点云数据处理(六):点云、mesh可视化(Visualizer类)

本文介绍了Open3D中Visualizer类可视化几何对象的方法,给出了常用参数解释和代码示例。

孙悟空 3025

【网络与爬虫 61】移动端App爬虫终极指南:Android-iOS应用数据提取黑科技全解析

本文全面解析移动端App爬虫技术,涵盖Android和iOS两大平台的数据提取方法。从基础的网络抓包到高级的代码注入,从自动化测试框架到反调试技术绕过,为开发者提供移动端数据采集的完整解决方案和实战经验。

熵数实验室 3023

Greenplum table 之 外部表

转载自: https://www.cnblogs.com/kingle-study/p/10552097.html 一、外部表介绍   Greenplum 在数据加载上有一个明显的优势,就是支持数据的并发加载,gpfdisk是并发加载的工具,数据库中对应的就是外部表   所谓外部表,就是在数据库中只有表定义、没有数据,数据都存放在数据库之外的数据文件。greenplum可以对一个外部表执行...

weixin_33830216的博客 888

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

GREENPLUM在HADOOP上的可写外部表和可读外部表

GREENPLUM HADOOP HDFS EXTERNAL TABLE

朝着梦想 渐行前进 5451

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Greenplum外部表数据加载——gpfdist

Greenplum在数据加载方面有一个明显的优势,就是支持数据的并发加载,gpfdist就是并发加载的工具,在数据库中对应的就是外部表。 外部表就是指表的数据存放在数据库之外的数据文件中。外部表是直接在segment上导入数据,相比与其它的ETL工具,因为需要经过GP的单点master(效率较低),这种方式速度会很快。 创建外部表语法: CREATE EXTERNAL TABLE Defines...

Focus on PostgreSQL 3741

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

「揭秘GP」Greenplum 数据加载之外部表

​外部表是greenplum的一种数据表,它与普通表不同的地方是:外部表是用来访问存储在greenplum数据库之外的数据。如普通表一样,可使用SQL对外部表进行查询和插入操作。外部表主要用于Greenplum数据的导入及导出。 本文按照以下顺序介绍外部表:外部表创建和使用,外部表读写实现机制,外部数据转换,外部表的查询计划,外部表的事务,使用可读外部表加载数据。 一 外部表创建和使用 Greenplum数据库在创建一个外部表时,需要声明外部数据的LOCATION和FORMAT。LOCATION指定外部数据

Greenplum中文社区 2137

greenplum 外部表 oracle,「揭秘GP」Greenplum 数据加载之外部表

​外部表是greenplum的一种数据表,它与普通表不同的地方是:外部表是用来访问存储在greenplum数据库之外的数据。如普通表一样,可使用SQL对外部表进行查询和插入操作。外部表主要用于Greenplum数据的导入及导出。本文按照以下顺序介绍外部表:外部表创建和使用,外部表读写实现机制,外部数据转换,外部表的查询计划,外部表的事务,使用可读外部表加载数据。一 外部表创建和使用Greenplu...

weixin_28973649的博客 747

greenplum使用gpfdist和http协议创建外部表

使用gpfdist协议创建外部表 使用gpfdist协议之前需要启动gpfdist服务 gpadmin用户执行 gpfdist -d /ftpdir -p 9099 -l /ftpdir/ln/gpfdist.log & CREATE READABLE EXTERNAL TABLE stage.stage_machine_status ( hostname CHARACTER VARYI

1584

mysql外部表加载,Greenplum外部表数据加载——gpfdist

Greenplum在数据加载方面有一个明显的优势,就是支持数据的并发加载,gpfdist就是并发加载的工具,在数据库中对应的就是外部表。外部表就是指表的数据存放在数据库之外的数据文件中。外部表是直接在segment上导入数据,相比与其它的ETL工具,因为需要经过GP的单点master(效率较低),这种方式速度会很快。创建外部表语法:https://www.cndba.cn/foucus/artic...

weixin_39611070的博客 592

GreenPlum 大数据平台--外部表(三)

一,外部表介绍   Greenplum 在数据加载上有一个明显的优势,就是支持数据的并发加载,gpfdisk是并发加载的工具,数据库中对应的就是外部表   所谓外部表,就是在数据库中只有表定义、没有数据,数据都存放在数据库之外的数据文件。greenplum可以对一个外部表执行正常的DML操作,当读取数据的时候,数据库从数据文件中加载数据。外部表支持在segment上并发地告诉从gpf...

Z14523299999的博客 923

Greenplum自定义外部表协议开发

概述 我们知道Greenplum支持gpfdist、http等多种形式的外部表协议。但如果gpfdist、http、file等协议都无法满足需求,Greenplum还支持自定义协议的外部表,用户可以自己定义一种协议访问自己的外部数据,且数据格式可以是标准的TEXT或CSV,也可以是自定义的数据格式。      自定义协议在一些特殊场景下比较有用,例如需要在自己的系统和Greenplum...

icycode的专栏 1579

3000字揭秘Greenplum的外部数据加载——外部表

外部表是greenplum的一种数据表,它与普通表不同的地方是:外部表是用来访问存储在greenplum数据库之外的数据。如普通表一样,可使用SQL对外部表进行...

Greenplum中文社区 379

hive内部表和外部表的区别_3000字揭秘Greenplum的外部数据加载——外部表

外部表是greenplum的一种数据表,它与普通表不同的地方是:外部表是用来访问存储在greenplum数据库之外的数据。如普通表一样,可使用SQL对外部表进行查询和插入操作。外部表主要用于Greenplum数据的导入及导出。本文按照以下顺序介绍外部表:外部表创建和使用,外部表读写实现机制,外部数据转换,外部表的查询计划,外部表的事务,使用可读外部表加载数据。一外部表创建和使用Green...

weixin_39938935的博客 444

hive外部表改为内部表_3000字揭秘Greenplum的外部数据加载——外部表

外部表是greenplum的一种数据表,它与普通表不同的地方是:外部表是用来访问存储在greenplum数据库之外的数据。如普通表一样,可使用SQL对外部表进行查询和插入操作。外部表主要用于Greenplum数据的导入及导出。本文按照以下顺序介绍外部表:外部表创建和使用,外部表读写实现机制,外部数据转换,外部表的查询计划,外部表的事务,使用可读外部表加载数据。一外部表创建和使用Green...

weixin_42361733的博客 221

greenplum gpfdist工具

gpfdist 是 Greenplum 数据库并行文件分发程序。它可以被外部表和 gpload 用来并行地将外部表文件分发给 Greenplum 数据库 Segment节点<greenplum架构介绍它也可以被可写外部表使用,将Segment节点上的数据写入目标文件中。gpfdist 可以看成是一个http服务,因其是单进程模式,所以为实现服务端的并行,需要启动多个 gpfdist 服务。

Serendipity_Shy 2615
上一篇: greenplum创建表空间脚本-待更新
下一篇: python实现对Excel加密方法
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值