복붙노트

[HADOOP] 폭풍 HDFS 커넥터를 사용하여 HDFS에 데이터를 쓰기

HADOOP

폭풍 HDFS 커넥터를 사용하여 HDFS에 데이터를 쓰기

HDFS에 데이터를 작성하는 데 사용할 수있는 "폭풍 HDFS 커넥터"에 대한 소스 코드. GitHub의 URL은 다음과 같습니다 https://github.com/ptgoetz/storm-hdfs 특정 토폴로지가있다 : 작성하는 데 사용 "HdfsFileTopology는" '|' HDFS로 구분 된 데이터. 링크 : https://github.com/ptgoetz/storm-hdfs/blob/master/src/test/java/org/apache/storm/hdfs/bolt/HdfsFileTopology.java

나는 코드의 일부에 대한 질문이 :

Yaml yaml = new Yaml();
        InputStream in = new FileInputStream(args[1]);
        Map<String, Object> yamlConf = (Map<String, Object>) yaml.load(in);
        in.close();
        config.put("hdfs.config", yamlConf);

        HdfsBolt bolt = new HdfsBolt()
                .withConfigKey("hdfs.config")
                .withFsUrl(args[0])
                .withFileNameFormat(fileNameFormat)
                .withRecordFormat(format)
                .withRotationPolicy(rotationPolicy)
                .withSyncPolicy(syncPolicy)
                .addRotationAction(new MoveFileAction().toDestination("/dest2/"));

코드의이 부분은 특히 YAML 부분, 무엇입니까?

해결법

  1. ==============================

    1.나는 코드가 매우 분명하다 생각합니다. HdfsBolt는 HDFS에 쓸 수하기 위해서는, 그것은 HDFS 자체에 대한 정보를 필요로하고 당신이 그 YAML 파일을 만들 때 당신이 할 것입니다.

    나는 코드가 매우 분명하다 생각합니다. HdfsBolt는 HDFS에 쓸 수하기 위해서는, 그것은 HDFS 자체에 대한 정보를 필요로하고 당신이 그 YAML 파일을 만들 때 당신이 할 것입니다.

    그리고 그 토폴로지를 실행하려면 명령 줄 인수로 그 YAML 파일의 경로를 제공합니다.

    라이브러리의 저자는 여기에 좋은 설명을했다 : 스톰 - HDFS 사용합니다.

    소스 코드를 읽는다면, 당신은 HDFS를 구성하는 데 사용됩니다 YAML 파일의 내용을 찾을 수 있습니다. 제대로은 HDFS 기본값과 같을 수도 있지만 확신 할 수 없다.

    제대로 라이브러리의 저자에게 문의하는 것이 좋습니다.

  2. from https://stackoverflow.com/questions/26801495/using-the-storm-hdfs-connector-to-write-data-into-hdfs by cc-by-sa and MIT license