2016-08-25 40 views
0

在我部署hdfs后,使用ambari映射reduce,hawq,pxf,我使用impala-tpcds-kits在hdfs上生成了大约10G数据。关于hdfs上的hawq pxf访问文件数据

但是,当我在Postgres中用用户postgres登录时,我无法使用命令行CREATE EXTERNAL TABLE来索引hdfs上的数据。当我使用psql帮助命令时,没有关键字CREATE EXTERNAL TABLE

我不知道为什么?

Last login: Thu Aug 25 15:08:15 2016 from 192.168.1.50 
[[email protected] ~]# su postgres 
bash-4.1$ psql 
psql (8.4.20) 
Type "help" for help. 

postgres=# CREATE EXTERNAL TABLE EXT_LOG_INFO (hight int,weight int) 
LOCATION  ('pxf://10.0.0.21:51200/tmp/test2.txt?PROFILE=HdfsTextSimple') 
FORMAT 'TEXT' (DELIMITER '|'); 
ERROR: syntax error at or near "EXTERNAL" 
LINE 1: CREATE EXTERNAL TABLE EXT_LOG_INFO (hight int,weight int) LO... 
     ^
+0

在Postgres中没有'create external table'这样的东西。请参阅手册:https://www.postgresql.org/docs/current/static/sql-commands.html'psql'中的帮助只显示psql特定的命令,而不是SQL语句的帮助(以及为什么你使用这样一个过时和不受支持的Postgres版本?) –

+0

这个版本不是我想用的。它在我安装hawq时自动安装。 –

+0

HAWQ不是PostgreSQL。我建议你删除postgresql标签,这样像a_horse_with_no_name这样的人不会得到他的高马(哈哈),并告诉我们HAWQ命令在PostgreSQL中不起作用。 –

回答

1

请确定您正在调用连接到hawq的psql,而不是连接到linux内置的postgreSQL实例。

您可以运行'netstat -anp | grep 5432'来了解postgres的pid,并使用'ps -ef | grep your_pid知道二进制路径,检查路径是hawq。

或者你可以运行SQL'SELECT VERSION();'在psql中检查。

1

您可能会连接到ambari postgres。检查Ambari中的hawq设置并使用 psql -h主机名-p端口-d数据库-U用户名。

2

您没有连接到HAWQ。

[[email protected] ~]# su postgres 
bash-4.1$ psql 
psql (8.4.20) 
Type "help" for help. 

这是一个PostgreSQL数据库,可能是为Ambari安装的数据库。使用gpadmin帐户而不是postgres。另外,如果您想运行TPC-DS,请尝试使用这个专门用于HAWQ和Greenplum的设备。 https://github.com/pivotalguru/TPC-DS

1

请按照以下步骤操作。

登录hawq主节点

PS英法| grep的沉默(找出端口hawq主是听)

苏 - gpadmin

PSQL(psql将您连接到hawq gpadmin数据库)

如果不键入

PSQL -p端口号-h MASTERHOST -d数据库