我需要使用pySpark遍歷dataframe
,就像我們可以使用for循環迭代一組值。以下是我寫的代碼。這段代碼的問題是使用pySpark對數據框的每一行進行迭代
- 我必須使用收集它打破了並行
- 我無法從數據框的功能打印任何值
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
我試圖做到這一點沒有收集()怎麼收集將打破並行 –