在我部署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...
^
答案 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