关于hdfs上的hawq pxf访问文件数据

时间:2016-08-25 09:19:29

标签: postgresql hadoop hawq

在我部署hdfs,使用ambari映射reduce,hawq,pxf之后,我使用impala-tpcds-kits在hdfs上生成了大约10G数据。

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

我不知道为什么?

Last login: Thu Aug 25 15:08:15 2016 from 192.168.1.50
[root@hadoop-m-21 ~]# 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...
           ^

4 个答案:

答案 0 :(得分:2)

你没有连接到HAWQ。

[root@hadoop-m-21 ~]# su postgres
bash-4.1$ psql
psql (8.4.20)
Type "help" for help.

这是一个PostgreSQL数据库,很可能是为Ambari安装的数据库。使用gpadmin帐户而不是postgres。

此外,如果您想要运行TPC-DS,请尝试使用专为HAWQ和Greenplum设计的TPC-DS。 https://github.com/pivotalguru/TPC-DS

答案 1 :(得分:1)

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

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

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

答案 2 :(得分:1)

您可能正在连接到ambari postgres。检查Ambari中的hawq设置并使用 psql -h hostname -p port -d database -U username。

答案 3 :(得分:1)

请按照以下步骤操作。

登录hawq主节点

ps -ef | grep silent(找出hawq master正在监听的端口)

su - gpadmin

psql(psql应该将你连接到hawq gpadmin数据库)

如果没有输入

psql -p portnumber -h masterhost -d database