我使用https://databricks.com/blog/2017/10/30/introducing-vectorized-udfs-for-pyspark.html
创建一个函数,该函数接收Dataframe的行并计算某些内容。
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”中提取每个spark作业中的数据。有没有办法用广播变量来实现这一点。如果是这样的话,我怎么会把它放到@pandas\u自定义项中呢
暂无答案!
目前还没有任何答案,快来回答吧!