Введите изображение в hadoop для MapReduce в python3 - PullRequest
0 голосов
/ 17 апреля 2019

Я пытаюсь использовать Hadoop Streaming для написания функций MapReduce в python3, который использует opencv для обработки изображений, которые являются моими входными данными.Чтобы использовать sys.stdin, я преобразовал все свои изображения в текстовые файлы, используя мой encoder.py, который берет изображение и записывает символьную строку в текстовый файл

import numpy as np

def encoder(imageFilename):
    a = cv2.imread(imageFilename)
    a = a.astype('str').reshape(row * col * 3)
        a = ':'.join(a)
    with open('imgText.txt', 'w') as f:
        f.write(a)

По сути, я получаю что-то вроде этогомой stdin: 122: 121: 123: 90: 45: 234: и т. д.

Затем я читаю это из своего mapper.py и декодирую, чтобы успешно получить массив 3d-numpy.Но я обеспокоен тем, что при вводе нескольких файлов в качестве входных данных мой картограф для моего второго изображения будет читать оба закодированных изображения в stdin;или Hadoop автоматически сбросит предыдущий стандарт?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...