Конвертировать Spark Scala оператор объединения в Python - PullRequest
0 голосов
/ 25 июня 2018

Мне нужно преобразовать следующее выражение scala в python:

scala> a.join(b, a("key") === b("key"), "left").select(a.columns.map(a(_)) : _*).show

Возникли проблемы с : и _* Я не знаком со Scala.

Мне нужнореализовать решение в этом ответе в Python: https://stackoverflow.com/a/43340781/2453657

1 Ответ

0 голосов
/ 25 июня 2018

В API Scala DataFrame метод select принимает переменное число аргументов.В сигнатуре метода это обозначается *, как в следующем примере:

// Greet many people
def greet(who: String*): String = ???

// all valid calls
greet()
greet("world")
greet("alice", "bob")

Маркер : используется, чтобы дать подсказку компилятору относительно типа аргумента и_* в этом случае используется, чтобы указать, что мы передаем коллекцию в виде списка аргументов:

def people: Seq[String] = getPeopleToGreet()

greet(people)     // won't compile
greet(people: _*) // passes the collection of people as a list of arguments -- works

Не уверен в том, как работает API Python, но из моего опыта я думаю, что вы можете передатьодно значение или массив, поэтому я считаю, что проблема просто не существует в Python.

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