gpt4 book ai didi

hadoop - 在HDFS上看不到TABLE

转载 作者:行者123 更新时间:2023-12-02 21:55:13 25 4
gpt4 key购买 nike

我创建了如下表。

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

我找到仓库的位置。
hadoop@domU-12-31-39-02-5D-B7:~$ 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次,但仍然遇到相同的错误。

最佳答案

因为在创建表时,您显式地将表数据位置指定为在 s3 文件系统上,而不是在hive-default中使用关键字 LOCATION 定义的文件系统上。 [... LOCATION's3:// dinendra80 / H4P3'..]

对于在conf文件中指定的表,此关键字将覆盖默认的HDFS存储位置。

如果删除LOCATION's3:// dinendra80 / H4P3',则hive将表存储在'/ mnt / hive_081 / warehouse'中,您将可以从Hadoop cli中使用它。

关于hadoop - 在HDFS上看不到TABLE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15272298/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com