Как запустить запрос для каждой записи в кадре данных? - PullRequest
0 голосов
/ 24 февраля 2019

У меня есть сценарий, где нужно выполнить запрос для каждой записи из кадра данных.Я бегу в Spark-Shell, Spark 1.6.Я пробовал как df.rdd.map( row => sqlContext.sql("...")), но он не работает.Есть мысли по этому поводу?

1 Ответ

0 голосов
/ 25 февраля 2019

Используйте RDD.collect для сбора данных (для драйвера) и сопоставления каждой строки для выполнения SQL-запроса.

df.rdd.collect.map(row => sqlContext.sql("..."))

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


Причина, по которой df.rdd.map( row => sqlContext.sql("...")) не сработала, заключалась в том, что вы хотели отправить запрос на исполнителей как часть map, который не будет работать, поскольку долженисполниться на водителя.

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