Использование коннектора storm hdfs для записи данных в HDFS

Исходный код «коннектора storm-hdfs», который можно использовать для записи данных в HDFS. URL-адрес github: 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?


person tinus91    schedule 07.11.2014    source источник


Ответы (1)


Я думаю, что код вполне ясен. Чтобы HdfsBolt мог записывать в HDFS, ему нужна информация о самой HDFS, и это то, что вы делаете, когда создаете этот файл YAML.

И чтобы запустить эту топологию, вы указываете путь к этому файлу YAML в качестве аргумента командной строки.

Использование: HdfsFileTopology [имя топологии] [файл конфигурации yaml]

Автор библиотеки сделал хорошее описание здесь: Использование Storm-HDFS.

Если вы читали исходный код, вы обнаружите, что содержимое файла YAML будет использоваться для настройки HDFS. Правильно это может быть что-то вроде HDFS По умолчанию, но я не уверен.

Правильно лучше спросить у автора библиотеки.

person Chiron    schedule 07.11.2014
comment
Спасибо. В объяснении не говорится о файле yaml. Кроме того, что касается использования, разве первым аргументом не должен быть URL-адрес hdfs? Также будет оценена любая информация или что-то, что можно прочитать о файле конфигурации yaml. - person tinus91; 07.11.2014
comment
где я могу найти этот файл конфигурации yaml? - person tinus91; 07.11.2014