我的LocalSystem中有一个文件夹。它包含1000个文件,我会将他从我的LocalSystem移动或复制到HDFS
我试过这两个命令:
hadoop fs copyFromLocal C:/Users/user/Downloads/ProjectSpark/ling-spam /tmp
我也试过这个命令:
hdfs dfs -put /C:/Users/user/Downloads/ProjectSpark/ling-spam
/tmp/ling-spam
它显示一条错误消息,指出我的目录未找到,但我确信这是正确的。
我找到了一个函数getmerge()来将文件夹从HDFS移动到LocalSystem,但是我找不到反转。
拜托,你能帮助我吗?
答案 0 :(得分:0)
我在Windows上的VirtualBox,我在HDP2.3.2上使用控制台安全shell
您无法将Windows计算机中的文件复制到HDFS。您必须首先将文件存入虚拟机(我建议使用WinSCP或Filezilla),然后才能使用hadoop fs
将文件放入HDFS。
错误是正确的,因为HDP沙箱上不存在C:/Users/user/Downloads
因为它是Linux机器。
如上所述,您也可以尝试使用Ambari HDFS文件查看器,但我仍然需要注意SCP是官方方式,因为并非所有Hadoop系统都有Ambari(或者至少是Ambari的HDFS文件视图)
答案 1 :(得分:0)
我会将相互信息用于垃圾邮件或火腿这个词的分类。我有这个操作:MI(Word)=ΣProbabi(Occ,Class)* Log2 *(Probabi(Occuren,Class)/ Probabi(Occurren)* Probabi(Class))。 我理解这个功能,我必须计算4个操作(true,ham),(false,ham),(true,spam)和(false,spam)。 我不明白我写的是谁,事实上,我计算了发生的文件的编号。 但我不知道我必须在我的功能中写些什么。 非常感谢你!
这是我职能部队: def computeMutualInformationFactor( probaWC:RDD [(String,Double)],//给定类中单词出现的概率。 probaW:RDD [(String,Double)],//是否在类中出现该单词的概率 probaC:Double,//电子邮件出现在课堂上的概率(垃圾邮件或火腿) probaDefault:缺少概率时的双倍//默认值 ):RDD [(String,Double)] = {