Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何通过hadoop mapreduce作业访问windows/unix目录中的文本文件_Java_Hadoop_Hdfs - Fatal编程技术网

Java 如何通过hadoop mapreduce作业访问windows/unix目录中的文本文件

Java 如何通过hadoop mapreduce作业访问windows/unix目录中的文本文件,java,hadoop,hdfs,Java,Hadoop,Hdfs,我想将日志文件从windows/unix环境复制到特定目录结构中的HDFS。我知道我可以在hadoop shell中执行copyFromLocal,但是否可以使用Mapper通过java代码执行此操作。如果您指的是将本地文件(或目录)从本地计算机复制到HDFS,则代码如下: Configuration conf = new Configuration(); FileSystem fs = FileSystem.get(conf); Path localPath = new

我想将日志文件从windows/unix环境复制到特定目录结构中的HDFS。我知道我可以在hadoop shell中执行copyFromLocal,但是否可以使用Mapper通过java代码执行此操作。

如果您指的是将本地文件(或目录)从本地计算机复制到HDFS,则代码如下:

    Configuration conf = new Configuration();
    FileSystem fs = FileSystem.get(conf);
    Path localPath = new Path("your_local_path");
    Path remotePath = new Path("your_hdfs_path");
    fs.copyFromLocalFile(localPath, remotePath);

如果您的意思是将本地文件(或目录)从本地计算机复制到HDFS,则代码如下:

    Configuration conf = new Configuration();
    FileSystem fs = FileSystem.get(conf);
    Path localPath = new Path("your_local_path");
    Path remotePath = new Path("your_hdfs_path");
    fs.copyFromLocalFile(localPath, remotePath);

如果您的意思是将本地文件(或目录)从本地计算机复制到HDFS,则代码如下:

    Configuration conf = new Configuration();
    FileSystem fs = FileSystem.get(conf);
    Path localPath = new Path("your_local_path");
    Path remotePath = new Path("your_hdfs_path");
    fs.copyFromLocalFile(localPath, remotePath);

如果您的意思是将本地文件(或目录)从本地计算机复制到HDFS,则代码如下:

    Configuration conf = new Configuration();
    FileSystem fs = FileSystem.get(conf);
    Path localPath = new Path("your_local_path");
    Path remotePath = new Path("your_hdfs_path");
    fs.copyFromLocalFile(localPath, remotePath);


你为什么要用Mapper来做这些事情?你不能用脚本来做copyFromLocal吗?我不想使用任何shell脚本。只需要纯Java代码。是的,从Java编写脚本并调用它?为什么必须在映射器中?我想应该叫司机来。你为什么要用Mapper来做这些事情?你不能用脚本来做copyFromLocal吗?我不想使用任何shell脚本。只需要纯Java代码。是的,从Java编写脚本并调用它?为什么必须在映射器中?我想应该叫司机来。你为什么要用Mapper来做这些事情?你不能用脚本来做copyFromLocal吗?我不想使用任何shell脚本。只需要纯Java代码。是的,从Java编写脚本并调用它?为什么必须在映射器中?我想应该叫司机来。你为什么要用Mapper来做这些事情?你不能用脚本来做copyFromLocal吗?我不想使用任何shell脚本。只需要纯Java代码。是的,从Java编写脚本并调用它?为什么必须在映射器中?我认为应该在驱动程序中调用它。谢谢..你能告诉我你说应该在驱动程序中调用它是什么意思吗?因为映射器可以在集群中的任何节点上运行,所以映射器的
local
是不确定的。驱动程序将在本地计算机上运行。因此,您应该在其中调用
copyFromLocalFile
。谢谢..请您告诉我,在驱动程序中调用它是什么意思?因为映射器可以在群集中的任何节点中运行,所以映射器的
local
是不确定的。驱动程序将在本地计算机上运行。因此,您应该在其中调用
copyFromLocalFile
。谢谢..请您告诉我,在驱动程序中调用它是什么意思?因为映射器可以在群集中的任何节点中运行,所以映射器的
local
是不确定的。驱动程序将在本地计算机上运行。因此,您应该在其中调用
copyFromLocalFile
。谢谢..请您告诉我,在驱动程序中调用它是什么意思?因为映射器可以在群集中的任何节点中运行,所以映射器的
local
是不确定的。驱动程序将在本地计算机上运行。因此,您应该在其中调用
copyFromLocalFile