首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从本地hdinsight从blob拷贝

从本地hdinsight从blob拷贝
EN

Stack Overflow用户
提问于 2013-11-18 01:17:14
回答 2查看 1.5K关注 0票数 0

我才刚刚开始使用HDInsight。我有一些存储在Azure存储中的文件要复制到HDFS中。我正在尝试使用fs -copyFromLocal。当我从C驱动器复制时,它工作正常,当我尝试使用wasb路径从blob存储复制到blob容器时,我得到了一个错误的FS错误。我怀疑从本地复制是错误的工具。如何从容器复制到HDFS。

EN

回答 2

Stack Overflow用户

发布于 2013-11-22 02:32:01

将文件从Azure Storage复制到HDInsight中的HDFS可能不是一个好主意。这样做的原因是,HDInsight集群上的HDFS中的任何内容都存储在组成该集群的临时实例上,本质上是临时存储。

您可能想要做的是将包含文件的存储帐户添加到Hadoop集群,这将使HDInsight能够将这些文件作为wasb://空间的一部分进行访问。

您可以在创建群集时添加包含要访问的文件的存储帐户,或使用http://blogs.msdn.com/b/cindygross/archive/2013/04/25/access-azure-blob-stores-from-hdinsight.aspx中所述的过程添加存储帐户。您还可以使用

代码语言:javascript
复制
azure hdinsight cluster config storage add 

或者PowerShell的等价物:

代码语言:javascript
复制
Add-AzureHDInsightStorage

只有当你的机器上有运行该命令的文件时,copyFromLocal命令才会起作用,所以你当然可以将Azure文件下载到本地磁盘,但是,当你可以使用上面的命令将计算集群链接到它时,为什么还要移动数据呢?

票数 1
EN

Stack Overflow用户

发布于 2013-11-19 15:41:09

尝试下面的命令。

cp

代码语言:javascript
复制
Usage: hadoop fs -cp URI [URI …] <dest>

将文件从源复制到目标。此命令还允许多个源,在这种情况下,目标必须是一个目录。

代码语言:javascript
复制
Example:
hadoop fs -cp /user/hadoop/file1 /user/hadoop/file2
hadoop fs -cp /user/hadoop/file1 /user/hadoop/file2 /user/hadoop/dir

退出代码:成功时返回0,错误时返回-1。

代码语言:javascript
复制
Usage: hadoop fs -put <localsrc> ... <dst>

将单个src或多个src从本地文件系统拷贝到目标文件系统。还从stdin读取输入并写入目标文件系统。

代码语言:javascript
复制
hadoop fs -put localfile /user/hadoop/hadoopfile
hadoop fs -put localfile1 localfile2 /user/hadoop/hadoopdir
hadoop fs -put localfile hdfs://nn.example.com/hadoop/hadoopfile
hadoop fs -put - hdfs://nn.example.com/hadoop/hadoopfile  

从标准输入读取输入。退出代码:成功时返回0,错误时返回-1。

有关更多详细信息和参考资料,请访问:http://hadoop.apache.org/docs/r0.19.1/hdfs_shell.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20033698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档