如何将word和pdf文档移动到hadoop hdfs?

lnlaulya  于 2021-06-03  发布在  Hadoop
关注(0)|答案(5)|浏览(439)

我想从本地系统(不在hadoop集群中的系统)复制/上传一些文件到hadoop hdfs上。本地系统也可以是windows系统。
我试过用flume spool目录。它适用于文本文件。对于其他文档,mime类型已损坏。
请告诉我将文件加载到hdfs的不同方法。

9nvpjoqh

9nvpjoqh1#

hadoop fs -copyFromLocal <localsrc> URI

查看hadoop文档:copyfromlocal
请记住,创建apacheflume并不是为了复制 some 文件夹。

u3r8eeie

u3r8eeie2#

在hadoop 2.0(yarn)中,您可以执行以下操作将本地文件传输到hdfs:

hdfs dfs -put "localsrcpath" "hdfspath"

其中hdfs是位于bin目录中的命令。

wwodge7n

wwodge7n3#

java代码很容易做到这一点。你不需要任何工具。检查下面的代码:

Configuration conf = new Configuration();
try {
    conf.set("fs.defaultFS",<<namenode>>); //something like hdfs://server:9000 or copy from core-site.xml
    FileSystem fileSystem= FileSystem.get(conf);
    System.out.println("Uploading please wait...");
    fileSystem.copyFromLocalFile(false, new Path(args[0]), new Path(args[1].trim()));//args[0]=C://file or dir args[1]=/imported

准备好jar并在任何操作系统上运行。请记住,您不需要在机器上运行hadoop,您将在那里运行这些代码。如果您需要任何帮助,请添加注解。
别忘了在运行代码的地方添加dnsresolver行。打开 /drivers/etc/hosts (适用于windows)

hadoopnamenode ip-address
slavenode ip-address
cx6n0qe3

cx6n0qe34#

你也可以使用 hadoop fs -put <localsrcpath> <hdfspath> 这是另一种选择 copyFromLocal

jhiyze9q

jhiyze9q5#

首先,您需要使用将文档从windows机器加载到linux机器 filezilla 或其他工具。
然后你需要使用:

hadoop fs -put localsrcpath hdfspath

以下命令也将起作用。

hadoop fs -copyFromLocal localsrcpath hdfspath

相关问题