2016-06-03 3 views
0

Я запускаю алгоритмы анализа изображений на Apache-Spark с помощью Python.Pyspark: Сохранение изображений на HDFS

Использование Matplotlib, окончательный вывод, содержащий изображения (numpy 2D-массив) и графики (с использованием подзаголовка), должен сохраняться в общем изображении, таком как jpeg, png, tiff и т. Д. На HDFS.

Как ниже кода, я хочу, чтобы каждый исполнитель запускал RDD и сохранял файлы изображений. Есть ли способ сохранить файлы по hdfs от каждого исполнителя? Пожалуйста, поделитесь любыми идеями, если у вас есть.

Спасибо!

 ax1 = plt.subplot(131) 
     plt.subplots_adjust(wspace=0.4) 
     im = plt.imshow(map1, interpolation='nearest') 
     divider = make_axes_locatable(ax1) 
     cax = divider.append_axes("right", size="2.5%", pad=0.1) 
     cb = plt.colorbar(im,cax=cax) 
     ax1.set_title("Test1") 
     ax2 = plt.subplot(132) 
     plt.imshow(map2, cmap='gray', interpolation='nearest') 
     ax2.set_title("Test2") 
     ax3 = plt.subplot(133) 
     plt.imshow(map3, cmap='gray', interpolation='nearest') 
     ax3.set_title("Test3") 

     plt.savefig(filepathname, bbox_inches = 'tight', pad_inches=0) 

ответ

1

Для того, чтобы использовать следующую функцию без каких-либо изменений:

plt.savefig(filepathname, bbox_inches = 'tight', pad_inches=0) 

Вам нужно смонтировать HDFS как папку вашей локальной машине.

Вам нужно установить Hadoop-HDFS-предохранитель (http://www.cloudera.com/documentation/archive/cdh/4-x/4-7-1/CDH4-Installation-Guide/cdh4ig_topic_28.html)

Следующие команды предполагают, Ubuntu, как ваша машина (см выше ссылке для других дистрибутивов)

sudo apt-get install hadoop-hdfs-fuse 
sudo mkdir -p <mount_point> 
hadoop-fuse-dfs dfs://<name_node_hostname>:<namenode_port> <mount_point> 

если APT-получить установить Hadoop-HDFS-предохранитель не получится, вы можете сделать следующее и снова повторите описанную выше 3 линии:

wget http://archive.cloudera.com/cdh5/one-click-install/trusty/amd64/cdh5-repository_1.0_all.deb 
sudo dpkg -i cdh5-repository_1.0_all.deb 
sudo apt-get update 

для получения дополнительной информации: http://www.cloudera.com/documentation/enterprise/latest/topics/cdh_ig_cdh5_install.html#topic_4_4_1__p_44

Смежные вопросы