2013-03-07 64 views
0

我已經創建瞭如下表格。無法在HDFS上看到TABLE

CREATE TABLE apachelog (
    host STRING, identity STRING, user STRING, time STRING, request STRING, status STRING, 
    size STRING, referer STRING, agent STRING) 
    ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serde2.RegexSerDe' 
    WITH SERDEPROPERTIES ("input.regex" = "([^ ]*) ([^ ]*) ([^ ]*) (- 
    |\\[[^\\]]*\\]) ([^ \"]*|\"[^\"]*\") (-|[0-9]*) (-|[0-9]*)(?: ([^ 
    \"]*|\"[^\"]*\") ([^ \"]*|\"[^\"]*\"))?", "output.format.string" = 
    "%1$s %2$s %3$s %4$s %5$s %6$s %7$s %8$s %9$s") 
    STORED AS TEXTFILE 
    LOCATION 's3://dinendra80/H4P3'; 

我可以看到表在那裏,並有正確的行數。

hive> show tables; 
OK 
apachelog 
Time taken: 14.376 seconds 

我找到倉庫位置。

[email protected]:~$ cat hive/conf/hive-default.xml | grep warehouse 
<name>hive.metastore.warehouse.dir</name> 
<value>/mnt/hive_081/warehouse</value> 
<description>location of default database for the warehouse</description> 

然後當我這樣做時,我收到一條錯誤消息。

hadoop fs -lsr /mnt/hive_081 

lsr: Cannot access /mnt/hive_081: No such file or directory. 

Same thing when I look for /mnt/hive_081/warehouse 

我做錯了什麼?我從一開始就完成了所有設置3次,但仍然出現相同的錯誤。

+0

如何使用此工具? https://ccp.cloudera.com/display/CDHDOC/File+Browser – Alper 2013-03-07 13:42:32

回答

0

因爲在創建表時,您明確指定表中的數據的位置是在「S3」文件系統,而不是在蜂房默認定義的關鍵字LOCATION之一。 [... LOCATION's3:// dinendra80/H4P3'..]

此關鍵字將覆蓋在conf文件中指定的表的默認HDFS存儲位置。

如果您刪除LOCATION的s3:// dinendra80/H4P3,配置單元會將表存儲在'/ mnt/hive_081/warehouse'中,您將可以使用Hadoop cli進行播放。