Мне нужно перебирать по dataframe
с помощью pySpark так же, как мы можем перебирать набор значений, используя для цикла. Ниже приведен код, который я написал. Проблема с этим кодом являетсяИтерация каждой строки Data Frame с использованием pySpark
- я должен использовать сбор, который нарушает параллельность
- Я не могу печатать любые значения из DataFrame в функции
funcRowIter
- Я не могу разорвать петлю один раз у меня есть матч найден.
Я должен сделать это в pySpark и не могут использовать панд для этого:
from pyspark.sql.functions import *
from pyspark.sql import HiveContext
from pyspark.sql import functions
from pyspark.sql import DataFrameWriter
from pyspark.sql.readwriter import DataFrameWriter
from pyspark import SparkContext
sc = SparkContext()
hive_context = HiveContext(sc)
tab = hive_context.sql("select * from update_poc.test_table_a")
tab.registerTempTable("tab")
print type(tab)
df = tab.rdd
def funcRowIter(rows):
print type(rows)
if(rows.id == "1"):
return 1
df_1 = df.map(funcRowIter).collect()
print df_1
Я пытаюсь сделать это без сборного() сога собирать сломается параллельность –