我有一组位于服务器位置的制表符分隔文件,我创建了一个元数据表和一个外部表,其布局与元数据表相同。
我想知道当我在PgAdmin 3中运行外部表脚本时,它是否应该使用服务器位置上的文件(制表符分隔文件)中的数据加载外部表?
我想它应该,但是当我对ext表运行SELECT查询时会抛出错误:
(ERROR: http response code 404 from gpfdist)
如何解决这个问题?
答案 0 :(得分:1)
如果没有在我的Redhat Greenplum服务器上运行gpfdist实例,我在尝试使用外部表时在日志中看到了这个错误: 错误:gpfdist://172.xxx.xxx.xxx:8081 / app / xxx / prod / data / file.2015-01-21-08-37-50-0001.txt与gpfdist的连接失败。有效网址: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)
我开始在后台运行gpfdist端口8080和8081(不知道为什么两者),我得到了一个不同的错误: 错误:来自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&
现在工作正常。祝你好运!
答案 1 :(得分:0)
您是否在外部表定义中指定了Host:Port with text(input)file name?
您是否在具有输入文本文件的同一文件夹上启动了gpfdist?
检查你的gpfdist是否在线。
发布外部表脚本/元数据表脚本。