草庐IT

hdfs_clusters

全部标签

Hadoop HDFS : Trash location

HDFS何时何地创建.Trash文件夹?有没有什么规律或者逻辑,有引用依据吗? 最佳答案 每个HDFS用户都有自己的.TrashHDFS上的文件夹hdfs:///user/.每当hadoopfs-rm时检查并创建文件夹存在性命令被该用户执行而没有-skipTrash选项。这是根据core-site.xml的值按计划清除的fs.trash.intervalfs.trash.checkpoint.interval默认情况下,两者均为零,因此它被禁用,因此删除的文件将始终可恢复,直到被HDFS管理员手动清除。另请参阅HDFSTrash上的

scala - 使用Spark在hdfs中递归搜索所有文件名

我一直在寻找一种方法来获取Hadoop文件系统(hdfs)中目录及其子目录中的所有文件名。我发现我可以使用这些命令来获取它:sc.hadoopConfiguration.set("mapreduce.input.fileinputformat.input.dir.recursive","true")sc.wholeTextFiles(path).map(_._1)这是“wholeTextFiles”文档:ReadadirectoryoftextfilesfromHDFS,alocalfilesystem(availableonallnodes),oranyHadoop-supporte

hadoop - 如果没有在hdfs-site.xml中定义,namenode和datanode安装在哪里?

我的hdfs-site.xml只有以下内容:dfs.replication1问题。NameNode和DataNode安装在哪里?我在装有Windows10的MSFTSurface笔记本电脑上使用Hadoop3.0.3版本。 最佳答案 在hdfs-default.xmldfs.datanode.data.dir默认值为file://${hadoop.tmp.dir}/dfs/data和dfs.namenode.name。目录file://${hadoop.tmp.dir}/dfs/name并且在core-default.xmlhado

python - 无法从 Python 脚本中的 HDFS 访问目录

我有以下python脚本(我设法在本地运行它):#!/usr/bin/envpython3importfolderstatsdf=folderstats.folderstats('hdfs://quickstart.cloudera.8020/user/cloudera/files',hash_name='md5',ignore_hidden=True)df.to_csv(r'hdfs://quickstart.cloudera.8020/user/cloudera/files.csv',sep=',',index=True)我在该位置有目录:"file"。我通过命令行甚至使用HUE检

hadoop - 如何使 HDFS 上的平面文件与大型数据库表保持同步?

保持HDFS上的平面文件与可能有行更新的大型数据库表同步的最佳方法是什么?像sqoop这样的工具看起来很有用,因为它们允许从表中增量提取新行,但是我看不到处理行更新的简单方法。我们可以使用哪些技术来有效地处理行更新?我们宁愿避免每晚倾倒整张table。 最佳答案 这里有一些建议:使用DBInputFormat使数据库成为您作业的输入,而不是拥有一个您必须担心同步的中间文件。如果MySQL成为瓶颈,您可以使用一些分布式/NoSQL数据库。如果您仍想使用平面文件,每天晚上您只能转储MySQL中更改的行以及时间戳。编写一个仅输出每个唯一行

hadoop - 如何使用 hdfs shell 命令检查文件是否存在

我是hadoop的新手,需要一点帮助。假设如果我使用shell脚本在后台运行作业,我如何知道作业是否完成。我问的原因是,作业完成后,我的脚本必须将输出文件移动到其他位置。我如何使用hdfs检查作业是否已完成或输出文件是否存在。谢谢MRK 最佳答案 您需要小心检测以这种方式完成的工作,因为在您的工作完全完成之前可能会有输出。为了回答您的直接问题,为了测试是否存在,我通常会执行hadoopfs-ls$output|wc-l然后确保数字大于0.我的建议是你使用&&来处理移动:hadoop...myjob.jar...&&hadoopfs-

performance - 平衡 HDFS -> HBase mapreduce 作业的想法

对于客户,我一直在研究在AWSEC2上运行Cloudera风格的hadoop集群的短期可行性。在大多数情况下,结果是预期的,逻辑卷的性能大多不可靠,也就是说尽我所能让集群在这种情况下运行得相当好。昨晚我对他们的导入程序脚本进行了全面测试,以从指定的HDFS路径中提取数据并将其推送到Hbase。他们的数据有些不同寻常,因为记录小于1KB,并且被压缩到9MB的gzipblock中。总共有大约50万条文本记录从gzip中提取出来,经过完整性检查,然后推送到reducer阶段。作业在环境的预期范围内运行(溢出记录的数量是我预料到的)但是一个非常奇怪的问题是当作业运行时,它使用8个reducer

hadoop - 如何为单元测试设置HDFS目录时间

我正在尝试对使用Hadoop的HDFS编程接口(interface)的Java程序进行单元测试。我需要创建目录并设置它们的时间以确保我的程序将在正确的时间“清理”目录。但是,FileSystem.setTimes似乎不适用于目录,仅适用于文件。有什么方法可以以编程方式设置HDFS目录访问/修改时间?我正在使用Hadoop0.20.204.0。谢谢!弗兰克 最佳答案 看起来这确实是HDFS错误,最近标记为已解决。如果这对您很重要,您可能需要从不尝试版本或快照。HDFS-2436 关于had

hadoop - 使用JAVA将文件从HDFS复制到本地文件系统

我正在尝试将文件从HDFS复制到本地文件系统以进行预处理。下面的代码应该根据文档工作。尽管它没有给出任何错误消息并且mapreduce作业运行顺利,但我在本地硬盘驱动器上看不到任何输出。你认为问题是什么?谢谢。try{Pathphdfs_input=newPath("hdfs://master:54310/user/hduser/conninput/"+value.toString());Pathplocal_input=newPath("/home/hduser/Desktop/"+avlue.toString());FileSystemfs=FileSystem.get(conte

hadoop - 文件是否需要在 HDFS 中才能在分布式缓存中使用它?

我明白了Exceptioninthread"main"java.lang.IllegalArgumentException:WrongFS:file:/path/to/my.jar,expected:hdfs://ec2-xx-xx-xx-xxx.compute-1.amazonaws.com如果我尝试将本地文件添加到hadoop中的分布式缓存。当文件在HDFS上时,我没有收到此错误(很明显,因为它使用的是预期的FS)。有没有办法在分布式缓存中使用本地文件而不先将其复制到hdfs?这是一个代码片段:Configurationconf=job.getConfiguration();Fil