Преобразовать Java-объект scala.collection.Seq <String>в список питонов - PullRequest
0 голосов
/ 03 мая 2019

В pyspark sparkSession, с sc в качестве моего sparkContext, вызывая getRDDStorageInfo() Java sparkContext, _jsc.sc(), метод возвращает экземпляр JavaObject RDDInfo[], который я могу перебрать в python.

sc._jsc.sc().getRDDStorageInfo() возвращает JavaObject id=o473

Так работает следующее:

for s in sc._jsc.sc().getRDDStorageInfo():
    print s.name()
    print s.memSize()
    print s.numPartitions()
    print s.numCachedPartitions()

Однако метод Java sparkContext listFiles() возвращает JavaObject со значением scala.collection.Seq<String>.

sc._jsc.sc().listFiles() возврат JavaObject id=o475

и когда я пытаюсь повторить это, я получаю TypeError: 'JavaObject' object is not iterable

Как я могу преобразовать JavaObject scala.collection.Seq<String> в список питонов (или другой итеративный питон)?

1 Ответ

1 голос
/ 03 мая 2019

Вы можете вызвать методы scala size и apply, чтобы сделать это

files = sc._jsc.sc().listFiles()
py_files = [files.apply(i) for i in range(files.size())]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...