我在蜂巢中有分区表。所以我想看看hadoop hdfs中的目录结构?
从文档中,我找到了以下命令
hadoop fs -ls /app/hadoop/tmp/dfs/data/
并且/app/hadoop/tmp/dfs/data/
是我的数据路径。但是这个命令返回
ls:无法访问/app/hadoop/tmp/dfs/data/:没有这样的文件或目录。
我在那里错过了什么吗?
除非我弄错了,否则您似乎正在寻找您可能在 property 中定义的临时目录hadoop.tmp.dir
。这是一个本地目录,但是当您hadoop fs -ls
查看 HDFS 中可用的文件时,您将看不到任何内容。
由于您正在查找 Hive 目录,因此您正在 hive-site.xml 中查找以下属性:
hive.metastore.warehouse.dir
默认值为/user/hive/warehouse
,因此如果您没有更改此属性,您应该可以执行以下操作:
hadoop fs -ls /user/hive/warehouse
这应该向您显示您的表目录。
检查您的 core-site.xml 文件和 hdfs-site.xml 中是否正确设置了 tmp 目录。如果不设置,则操作系统的临时目录(ubuntu 中的 tmp 和 windows 中的 %temp%)将被设置为 hadoop tmp 文件夹,因此您在重新启动计算机后可能会丢失数据。在 xml 中设置此 dfs.tmp.dir 并重新启动集群。那时它会正常工作。即使在此之后如果没有解决,也请提供有关分区表代码和表数据的更多详细信息。