나는 hadoop에 초보자이며 hdfs를 통해 파일을 업로드하고 다운로드하려고합니다. 자바 코드. HDFS에서자바 코드를 사용하여 hdfs에 파일을 업로드하고 다운로드하는 방법
hadoop fs -get or -copyToLocal filename directoryName
다운로드
hadoop fs -put or -copyFromLocal filename directoryName
및 데이터 :
데이터 업로드으로 행동해야한다. 데이터 세트에 이미지, 오디오, 비디오 등의 파일이 포함되어 있기 때문에이 파일이 필요합니다. 위의 명령은 모든 유형의 데이터에서 잘 작동하지만 Java I/O 판독기 코드를 사용하면 텍스트 파일은 정상적으로 작동하지만 이미지, 비디오는 정상적으로 작동하지 않습니다. docx 등.
pls 여기에 도움이됩니다.
여기에 편집 :
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
Configuration conf=new Configuration();
FileSystem fs = FileSystem.get(conf);
Path path=new Path("data");
Path file=new Path(path,"screenshots.png");
BufferedImage image = ImageIO.read(new File("/home/hduser/Desktop/screenshots.png"));
if (!fs.exists(path))
throw new IOException("Output not found!");
ImageIO.write(image, "png", fs.open(path));
}
으로 내가 여기 내가 HDFS에 이미지 파일을 업로드하기 위해 사용하고 코드를 편집 한 물었다. 여기 ImageIO.write
은 파일을 요청하기 때문에 fs.open(path)
을 받아들이지 않습니다.하지만 여기에 경로를 지정하고 hdfs에 경로를 지정해야합니다. 사실 나는 모든 유형의 데이터에 대한 코드를 사용하여 hdfs에서 파일을 업로드하고 다운로드하는 방법이 필요하므로 모든 유형의 파일에 대해 코드를 작성하고 플러그인을 사용해서는 안됩니다.
사용하려는 코드를 표시하고 올바르게 작동하지 않는다고 생각하는 이유를 정확하게 알려 주시기 바랍니다. – yole
답장을 보내 주셔서 감사합니다. 나는 편집 된 질문을 가지고있다. –
친숙한 Spring의 경우 [Spring Hadoop] (http://projects.spring.io/spring-hadoop/)을 사용할 수 있습니다. [예제 예제보기] (https://github.com/spring- Groovy 파일을 사용하여 입력 파일을 hdfs로 옮기고 Map-Reduce를 작업으로 실행합니다. –