Я пишу набор модульных тестов для некоторой библиотеки, которая зависит и использует PySpark. Для этого я использую что-то вроде этого:
import unittest
import pyspark
from pyspark.sql.types import Row
class PySparkTestCase(unittest.TestCase):
def setUp(cls):
conf = pyspark.SparkConf().setMaster('local[1]').setAppName("testing")
cls.spark = pyspark.SQLContext(pyspark.SparkContext(conf=conf))
def tearDown(cls):
cls.spark._sc.stop()
def test_basic(self):
instance = self.spark.createDataFrame(data=[Row(a=1.0, b='s'), Row(a=1.0, b='s')])
self.assertEqual(instance.count(), 2)
и выполнение (Python 3.7.0
, pyspark==2.3.1
), как
python -m unittest example
Тест пройден, но с одним лог-сообщением и двумя предупреждениями:
2018-09-08 12:14:15 WARN NativeCodeLoader: 62 - Невозможно загрузить
библиотека native-hadoop для вашей платформы ... с использованием встроенных классов java
где применимо
Установка уровня журнала по умолчанию "WARN".
Чтобы настроить уровень ведения журнала, используйте sc.setLogLevel (newLevel). Для SparkR используйте
setLogLevel (newLevel).
/ Library / Каркасы / Python.framework / Версии / 3.7 / Библиотека / python3.7 / subprocess.py: 839:
ResourceWarning: подпроцесс 13349 все еще работает ResourceWarning,
источник = Я)
/ Library / Каркасы / Python.framework / Версии / 3,7 / Библиотека / python3.7 / importlib / _bootstrap.py: 219:
ImportWarning: не удается разрешить пакет из __spec__
или __package__
,
отступая на __name__
и __path__
return f (* args, ** kwds)
.
Ран 1 тест в 16.361 с
OK
- Должен ли я беспокоиться об этом?
- Если нет, как я могу отключить отображение этого текста?