为了账号安全,请及时绑定邮箱和手机立即绑定

Pandas UDF 返回没有数据的数据框

Pandas UDF 返回没有数据的数据框

梵蒂冈之花 2023-02-15 17:35:06
我正在尝试在 pyspark (Spark 2.4.5) 中应用非常简单的 Pandas UDF,但它对我不起作用。例子:pyspark --master local[4] --conf "spark.pyspark.python=/opt/anaconda/envs/bd9/bin/python3" --conf "spark.pyspark.driver.python=/opt/anaconda/envs/bd9/bin/python3" >>> my_df = spark.createDataFrame(...     [...         (1, 0),...         (2, 1),...         (3, 1),...     ],...     ["uid", "partition_id"]... )from pyspark.sql.types import StructType, StructField, StringTypeschema = StructType([StructField("uid", StringType())])from pyspark.sql.functions import pandas_udf, PandasUDFTypeimport pandas>>> @pandas_udf(schema, PandasUDFType.GROUPED_MAP)... def apply_model(sample_df):...     print(sample_df)...     return pandas.DataFrame({"uid": sample_df["uid"]})...>>> result = my_df.groupBy("partition_id").apply(apply_model)>>> result.show()   uid  partition_id0    1             0[Stage 13:==================================================>    (92 + 4) / 100]   uid  partition_id0    2             11    3             1+---+|uid|+---+|  ||  ||  |+---+不知何故 uid 没有反映在结果中。你能说我在这里缺少什么吗?
查看完整描述

1 回答

?
婷婷同学_

TA贡献1844条经验 获得超8个赞

抱歉,不好意思,我在模式中写错了类型,应该是 LongType() 而不是 StringType()



查看完整回答
反对 回复 2023-02-15
  • 1 回答
  • 0 关注
  • 99 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号