我有一组位于服务器位置的制表符分隔文件,并且我创建了一个元数据表和一个与元数据表具有相同布局的外部表。
我想知道当我在 PgAdmin 3 中运行外部表脚本时,它是否应该使用服务器位置上的文件(制表符分隔的文件)中的数据加载外部表?
我想应该,但是当我对 ext 表运行 SELECT 查询时,它会引发错误:
(ERROR: http response code 404 from gpfdist)
如何解决这个问题?
我有一组位于服务器位置的制表符分隔文件,并且我创建了一个元数据表和一个与元数据表具有相同布局的外部表。
我想知道当我在 PgAdmin 3 中运行外部表脚本时,它是否应该使用服务器位置上的文件(制表符分隔的文件)中的数据加载外部表?
我想应该,但是当我对 ext 表运行 SELECT 查询时,它会引发错误:
(ERROR: http response code 404 from gpfdist)
如何解决这个问题?
如果没有在我的 Redhat Greenplum 服务器上运行 gpfdist 实例,我在尝试使用外部表时在我们的日志中看到了这个错误:错误:gpfdist://172.xxx.xxx.xxx:8081/app/xxx/prod 与 gpfdist 的连接失败/data/file.2015-01-21-08-37-50-0001.txt。有效网址: http://172.xxx.xxx.xxx:8081/app/xxx/prod/data/ file.2015-01-21-08-37-50-0001.txt。错误代码 = 111 (连接被拒绝) (seg2 slice1 hostnamexxxx:40002 pid=17585)
我在端口 8080 和 8081 上启动 gpfdist 在后台运行(不知道为什么两者都有),我得到了一个不同的错误:错误:来自 gpfdist 的 http 响应代码 404 (gpfdist://172.xxx.xxx.xxx:8081/app /xxx/prod/data/file.2015-01-21-08-37-50-0001.txt): HTTP/1.0 404 文件未找到 (url.c:343) (seg0 slice1 hostnamexxx:40000 pid=62012) (cdbdisp.c:1525)
我发现我必须使用以下命令从 / 目录启动 gpfdist(即使尝试使用 -d /app/xxx/prod/data 也不起作用,也没有从该目录启动 gpfdist):
nohup /usr/local/greenplum/greenplum-db/bin/gpfdist -p 8081 -l /home/xxxmgr/8081.log &
nohup /usr/local/greenplum/greenplum-db/bin/gpfdist -p 8080 -l /home/xxxmgr/8080.log &
现在它工作正常。祝你好运!
您是否在外部表定义中使用文本(输入)文件名指定了 Host:Port?
您是否在包含输入文本文件的同一文件夹上启动 gpfdist?
检查你的 gpfdist 是否在线。
发布您的外部表脚本/元数据表脚本。