我的本地系统中有一个文件夹。它包含1000个文件,我会将他从本地系统移动或复制到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,但没有找到相反的方法。
拜托,你能帮我吗?
2条答案
按热度按时间3phpmpom1#
我的virtualbox在windows上运行,我使用hdp2.3.2和控制台secure shell
无法将文件从windows计算机复制到hdfs。您必须首先将文件scp到vm中(我建议使用winscp或filezilla),然后才能使用
hadoop fs
把文件放到hdfs上。这个错误是正确的
C:/Users/user/Downloads
hdp沙盒上不存在,因为它是linux计算机。如前所述,您也可以尝试使用ambari hdfs文件查看器,但我仍然注意到scp是官方的方式,因为不是所有hadoop系统都有ambari(或者至少是ambari的hdfs文件视图)
vwoqyblh2#
我会采取共同的信息分类的单词垃圾邮件或火腿。我有这个操作:mi(word)=∑ 概率(occ,class)log2(概率(occuren,class)/概率(occurren)*概率(class))。我了解函数,我必须计算4个运算(真,ham),(假,ham),(真,spam)和(假,spam)。我不明白我到底写了谁,事实上,我计算了文件中出现的数字。但我不知道我到底要写谁在我的函数。非常感谢你!
这就是我的功能:def computemutualinformationfactor(probawc:rdd[(string,double)],//单词在给定类中出现的概率。probaw:rdd[(string,double)],//单词在类中出现的概率probac:double,//电子邮件在类(spam或ham)中出现的概率probadefault:double//缺少概率时的默认值):rdd[(string,double)]={