从windows复制到远程hdfs的正确语法是什么?
我正在尝试使用rstudio将文件从本地计算机复制到远程hadoop集群
rxHadoopCopyFromLocal("C:/path/to/file.csv", "/target/on/hdfs/")
这个扔
copyFromLocal '/path/to/file.csv': no such file or directory`
注意c:/消失了。
此语法也失败
rxHadoopCopyFromLocal("C:\\path\\to\\file.csv", "/target/on/hdfs/")
有错误的
-copyFromLocal: Can not create a Path from a null string
2条答案
按热度按时间c0vxltue1#
dplyrxdf的dev版本现在支持hdfs中的文件。您可以从本机文件系统上传一个文件,如下所示:;这可以从边缘节点和远程客户端进行。
如果有要上载的数据集(r对象),也可以使用标准dplyr
copy_to
动词。这将把数据导入一个xdf文件并上传,返回一个指向上传文件的rxxdfdata数据源。b1payxdu2#
这是一个常见的错误。
原来rxhadoopcopyfromlocal命令是hdfs fs-copyfromlocal的 Package 器。它所做的只是从本地文件系统复制到hdfs目标。
在这种情况下
rxSetComputeContext(remotehost)
已设置为远程群集。在远程计算机上,没有c:\path\to\file.csv这里有几种方法可以把文件拿到那里。
为远程hdfs群集配置本地hdfs-site.xml
确保本地计算机上安装了hadoop工具
编辑本地hdfs-site.xml以指向远程集群
确保
rxSetComputeContext("local")
跑rxHadoopCopyFromLocal("C:\local\path\to\file.csv", "/target/on/hdfs/")
scp与远程计算上下文将文件复制到远程计算机
scp C:\local\path\to\file.csv user@remotehost:/tmp
确保rxSetComputeContext(remotehost)
跑rxHadoopCopyFromLocal("/tmp/file.csv", "/target/on/hdfs/")