Я определяю функцию, используя logi c of https://databricks.com/blog/2017/10/30/introducing-vectorized-udfs-for-pyspark.html
, чтобы создать функцию, которая принимает строки фрейма данных и что-то вычисляет.
schema = StructType([
StructField('sensorid', IntegerType(), True), StructField('sensortimestamp', LongType(), True), StructField('calculatedvalue', DoubleType(), True)
])
@pandas_udf(schema, PandasUDFType.GROUPED_MAP)
def rawToSomthing(rawData):
df = pd.DataFrame(columns=['sensorid','sensortimestamp','calculatedvalue'])
sensor = rawData.sensorid[0]
rawChunkSize=60*24
rawData = rawData.sort_values(by=['sensortimestamp'], ascending=True)
rawData = rawData.append(pullRef())
return rawData
def pullRef():
return refDataframe
DF_sqlRawData.groupby('sensorid').apply(rawToSomthing)
Я хотел бы иметь возможность извлекать данные из «refDataframe» в каждом из искровых заданий. Есть ли способ сделать это с помощью широковещательной переменной. Если да, то как бы я попал в @ pandas_udf