我在hdfs中为一个项目创建了director,它的名字叫cert_project 尝试将名为Load Data.csv的csv文件从本地复制到hdfs。
$ hadoop fs -CopyFromLocal c:\Load Data.csv /home/edureka/aprl_25th_morng/cert_project/Load Data.csv
我收到错误。我尝试了终端和咕噜> (咕噜贝壳)
需要帮助。
答案 0 :(得分:0)
因为文件名中有空格所以它是自己的。尝试重命名文件名中没有空格的文件或尝试其中一个:
hadoop fs -CopyFromLocal 'c:\Load%20Data.csv' '/home/edureka/aprl_25th_morng/cert_project/Load Data.csv'
OR
hadoop fs -CopyFromLocal 'c:\Load%20Data.csv' '/home/edureka/aprl_25th_morng/cert_project/'`
在unix文件系统中,空格表示为%20(不在hdfs中)。因此,如果需要从hdfs中删除/复制文件,则需要引用并且不需要%20
hadoop fs -rm '/home/edureka/aprl_25th_morng/cert_project/Load Data.csv'
答案 1 :(得分:0)
使用-copyFromLocal,您正在使用人均C ..更多检查此链接以获取更多copyFromLocal
答案 2 :(得分:0)
命令是copyFromLocal。你正在使用CopyFromLocal。
答案 3 :(得分:0)
您也可以尝试
hadoop fs -put $localFile $hadoopFile
确保您已预先创建父目录
创建目录
hadoop fs -mkdir -p $hadoopFolder
答案 4 :(得分:0)
使用它 hadoop fs - copyFromLocal c:\ Load Data.csv / home / edureka / aprl_25th_morng / cert_project / Load Data.csv
copyFromLocal中的c不得为CAPS。
答案 5 :(得分:0)
如果您希望从Pig grunt shell运行该命令,您应该写下这样的内容:
public static function addKeyPhraseToPivotTable($ids) {
$locations = Location::where('account_id', self::$items[0]['account_id'])->get();
$urls = Url::where('account_id', self::$items[0]['account_id'])->get();
if($locations->count() > 0 && $urls->count() > 0) {
foreach($ids as $keyPhraseId) {
foreach($locations as $location) {
foreach($urls as $url) {
$url->keywords()->attach([$keyPhraseId, $location->id]);
}
}
}
}
}
确保源文件位于运行grunt shell的Linux服务器的本地文件系统上,并且您对HDFS上的目录具有写入权限,您尝试复制本地文件。