Java 如何通过hadoop mapreduce作业访问windows/unix目录中的文本文件
我想将日志文件从windows/unix环境复制到特定目录结构中的HDFS。我知道我可以在hadoop shell中执行copyFromLocal,但是否可以使用Mapper通过java代码执行此操作。如果您指的是将本地文件(或目录)从本地计算机复制到HDFS,则代码如下: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
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
。