我尝试hdfs dfs -pwd
,但该命令不存在。
所以目前我正在使用hdfs dfs -ls ..
后跟hdfs dfs -ls ../..
。
我还查看了hdfs dfs
的命令列表,但没有看到任何看起来很有希望的内容。
有没有更直接的方法来找到绝对路径?
答案 0 :(得分:18)
“hdfs dfs -pwd”不存在,因为当您从命令行运行命令时,HDFS中没有“工作目录”概念。
你不能在HDFS shell中执行“hdfs dfs -cd”,然后从那里运行命令,因为HDFS shell和“hdfs dfs -cd”命令都不存在,因此使工作目录的想法变得多余。 / p>
您的主目录始终是路径的前缀,除非它从“/".
开始答案 1 :(得分:14)
没有-cd
命令,所以我猜你希望-pwd
返回主目录。
根据这个相关问题:HDFS Home Directory,hdfs的主目录始终为/user/<ShortUserName>
(它在源代码中是硬编码的。)
答案 2 :(得分:10)
如果要查看主目录的绝对路径,可以创建一个空目录并将其删除,该信息可以显示绝对路径。
[test@test ~]$ hadoop fs -mkdir t1
[test@test ~]$ hadoop fs -rm -r t1
17/02/14 10:00:46 INFO fs.TrashPolicyDefault: Namenode trash configuration: Deletion interval = 1 minutes, Emptier interval = 0 minutes.
Moved: 'hdfs://nameservice1/user/test/t1' to trash at: hdfs://nameservice1/user/test/.Trash/Current
'hdfs:// nameservice1 / user / test / t1'是t1目录的绝对路径
答案 3 :(得分:6)
像unix / linux这样的hadoop中没有这样的PWD,CD支持。
可能的Hadoop命令是
-appendToFile
-cat
-checksum
-chgrp
-chmod
-chown
-copyFromLocal
-copyToLocal
-count
-cp
-createSnapshot
-deleteSnapshot
-df
-du
-expunge
-get
-getfacl
-getfattr
-getmerge
-help
-ls
-mkdir
-moveFromLocal
-moveToLocal
-mv
-put
-renameSnapshot
-rm
-rmdir
-setfacl
-setfattr
-setrep
-stat
-tail
-test
-text
-touchz
-usage
答案 4 :(得分:4)
file system shell utility pwd
中没有hdfs dfs
命令的等效命令,但此处使用mkdir
和find
进行解决方法:
$ hdfs dfs -mkdir xYz
$ hdfs dfs -find / -name "xYz"
(其中&#34; xYz&#34;是未使用的文件名)
在一个命令中:
$ echo $(dirname $(hdfs dfs -rm -R xYz>/dev/null 2>&1;hdfs dfs -mkdir xYz&&hdfs dfs -find / -name "xYz"))
答案 5 :(得分:1)
有hdfs.pwd()函数,但遗憾的是你无法从命令行使用它。 HDFS User's Guide
答案 6 :(得分:1)
Hadoop中没有当前工作目录的概念。 话虽这么说,但值得注意的是,如果您想了解Hadoop系统的目录结构,则可以从根开始,并不断地移至所需的目录。
因此从键入开始,观察输出并继续遍历:
def build_sample_db():
db.create_all()
# Add to Parent table
parent = Parent()
parent.name = "Jack Sparrow"
db.session.add(parent)
# Add to Children table
children_name = ['Hulk','Ironman']
amount = ['300','500000']
children_list = []
for i in range(len(fraudster_name)):
children = Children()
children.name = children_name[i]
children.asset_amount = amount[i]
children.parents = parent
db.session.add(children)
### Correct me if I'm wrong at formatting the list
grandchildren_name = [['Hulk_one', 'Hulk_two', 'Hulk_three'], ['Ironman_one', 'Ironman_two', 'Ironman_three']]
gender = [['female','female','male'], ['female','male','male']]
### How do I loop through my grandchildren to put into database
db.session.commit()
return