2016-08-25 42 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數據庫