Как правильно настроить нативный ARPACK для Spark 2.2.0

Я получаю следующее предупреждение при запуске задания PySpark:

17/10/06 18:27:16 WARN ARPACK: не удалось загрузить реализацию из: com.github.fommil.netlib.NativeSystemARPACK

17/10/06 18:27:16 WARN ARPACK: не удалось загрузить реализацию из: com.github.fommil.netlib.NativeRefARPACK

Мой код

mat = RowMatrix(tf_rdd_vec.cache())
svd = mat.computeSVD(num_topics, computeU=False) 

Я использую Ubuntu 16.04 EC2 экземпляр. И я установил все следующие библиотеки в моей системе.

sudo apt install libarpack2 Arpack++ libatlas-base-dev liblapacke-dev libblas-dev gfortran libblas-dev liblapack-dev libnetlib-java libgfortran3 libatlas3-base libopenblas-base

Я настроил LD_LIBRARY_PATH, чтобы он указывал на путь к общей библиотеке следующим образом.

export LD_LIBRARY_PATH=/usr/lib/

Теперь, когда я перечисляю каталог $LD_LIBRARY_PATH, он показывает мне следующие .so файлы

ubuntu:~$ ls $LD_LIBRARY_PATH/*.so | grep "pack\|blas"
/usr/lib/libarpack.so
/usr/lib/libblas.so
/usr/lib/libcblas.so
/usr/lib/libf77blas.so
/usr/lib/liblapack_atlas.so
/usr/lib/liblapacke.so
/usr/lib/liblapack.so
/usr/lib/libopenblasp-r0.2.18.so
/usr/lib/libopenblas.so
/usr/lib/libparpack.so

Но все же я не могу использовать реализацию Native ARPACK. Кроме того, я кеширую передачу RDD в матрицу, но он все равно выдает Cache. ПРЕДУПРЕЖДЕНИЕ. Есть ли какие-либо предложения, как решить эти 3 предупреждения?

Я скачал скомпилированную версию spark-2.2.0 со страницы загрузки spark.

1 ответ

Решение

После изучения я могу удалить эти предупреждения и использовать нативный ARPACK следующим образом.

Решение было восстановить искру с -Pnetlib-lgpl аргумент.

Создайте Spark для собственной поддержки

Ниже приведены мои шаги в Ubuntu 16.04.

# Make sure you use the correct download link, from spark download section
wget https://d3kbcqa49mib13.cloudfront.net/spark-2.2.0.tgz
tar -xpf spark-2.2.0.tgz 
cd spark-2.2.0/
./dev/make-distribution.sh --name custom-spark --pip  --tgz -Psparkr -Phadoop-2.7  -Pnetlib-lgpl

Когда я начал в первый раз, это не удалось, выдав следующую ошибку

Не удается найти 'R_HOME'. Пожалуйста, укажите 'R_HOME' или убедитесь, что R установлен правильно. [ОШИБКА] Ошибка выполнения команды.

[TRUNCATED]


[INFO] СБОЙ СТРОИТЕЛЬСТВА [INFO]


[INFO] Общее время: 02:38 мин (настенные часы) [INFO] Окончание: 2017-10-13T21:04:11+00:00 [INFO] Окончательная память: 59M / 843M

[ОШИБКА] Не удалось выполнить цель org.codehaus.mojo:exec-maven-plugin:1.5.0:exec (sparkr-pkg) в проекте spark-core_2.11: сбой выполнения команды. Процесс завершился с ошибкой: 1 (Выходное значение: 1) -> [Справка 1] [ОШИБКА]

Итак, я установил язык R

sudo apt install r-base-core

Затем я перезапустил вышеупомянутую команду сборки, и она успешно установлена.

Ниже приведены связанные версии, когда я собираю этот выпуск

$ java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-8u131-b11-2ubuntu1.16.04.3-b11)
OpenJDK 64-Bit Server VM (build 25.131-b11, mixed mode)

$ python --version
Python 2.7.12

$ R --version
R version 3.2.3 (2015-12-10) -- "Wooden Christmas-Tree"
Copyright (C) 2015 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

$ make --version
GNU Make 4.1
Built for x86_64-pc-linux-gnu
Другие вопросы по тегам