Curl WEBHDFS REST API,用于将文件从windows服务器/本地文件夹/桌面复制/移动到HDFS
使用WEBHDFS REST API调用,我可以将文件从Windows计算机(即Windows服务器或Windows本地文件夹或桌面)传输或复制到Hadoop HDFS文件系统吗 如果是,是否有任何示例命令信息 我已经尝试过,并且能够使用Curl WEBHDFS REST API,用于将文件从windows服务器/本地文件夹/桌面复制/移动到HDFS,curl,hdfs,hadoop2,jira-rest-api,webhdfs,Curl,Hdfs,Hadoop2,Jira Rest Api,Webhdfs,使用WEBHDFS REST API调用,我可以将文件从Windows计算机(即Windows服务器或Windows本地文件夹或桌面)传输或复制到Hadoop HDFS文件系统吗 如果是,是否有任何示例命令信息 我已经尝试过,并且能够使用 Windows->(使用ftp)->Linux目录->(使用webhdfs)->HDFS,这是两步过程,我正在寻找直接从Windows->(webhdfs)->HDFS的一步过程 我也参考了一些有用的信息 示例:如果我的文件位于E:\user\accounts
Windows->(使用ftp)->Linux目录->(使用webhdfs)->HDFS,这是两步过程,我正在寻找直接从Windows->(webhdfs)->HDFS的一步过程 我也参考了一些有用的信息 示例:如果我的文件位于E:\user\accounts.txt中,并且我希望使用webhdfs将此文件移动到HDFS/user/kumar/文件夹中 目前我正在做的是 步骤1)从Windows到linux目录的ftp帐户文件。
步骤2)运行curl命令将文件从linux计算机移动到HDFS文件夹 有没有关于一步到位的建议? 步骤1)Windows->HDFS一步使用webhdfs
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URI;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils;
import jcifs.smb.NtlmPasswordAuthentication;
import jcifs.smb.SmbFile;
import jcifs.smb.SmbFileInputStream;
public class FileWriteToHDFS
{
public static void main(String[] args) throws Exception
{
String src = args[0];
String dest = args[1];
Console console = System.console();
String username = console.readLine("Username: ");
String password = new String(console.readPassword("Password: "));
String domain = console.readLine("Authentication Domain: ");
NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication(domain, username, password);
SmbFile srcSMB = new SmbFile (src, auth);
InputStream in = new SmbFileInputStream(srcSMB);
Configuration myConf = new Configuration();
FileSystem fs = FileSystem.get(URI.create(dest), myConf);
OutputStream out = fs.create(new Path(dest));
try
{
IOUtils.copyBytes(in, out, 4096, false);
}
catch(IOException e)
{
e.printStackTrace();
}
finally
{
IOUtils.closeStream(in);
}
}
}
此代码使用JCIFS通过smb协议复制到HDFS我们可以使用scp命令将文件从windows文件系统复制到HDFS
scp source_file_name user@/path/file_name
我们也可以使用winscp工具来实现这一点。您可以安装它并与hdfs服务器建立连接,然后传输文件