python / databricks中的featurestore功能

问题描述

我在pyspark中有一个功能,如下所示,其中每个新列都是一个新功能。例如journey_email_been_sent_flagjourney_opened_flagjourney_clicked_flagjourney_transaction_flag是新功能。我想创建一个函数,如果用户希望获得上述功能之一,则应该能够为用户检索结果。其背后的基本思想是中央存储库中功能的可重用性。有没有一种方法可以动态实现每个功能。

journey_level_revenue_email_open_click = spark.read.parquet(journey_level_revenue_path)
analysis_start_date = "2019-05-06"
def df_ptf_overall(df : DataFrame,startdate : StringType):
  ptf_overall1 = df \
        .filter(F.col('journey_start_date') >= f"{startdate}") \
        .select('bpid','journeyinstanceid','journeyid','journey_start_date','measurement_group','country','email_14days','opened_14days','clicked_14days','testfnemail_14days','testfnopened_14days','testfnclicked_14days','revenue_14days','num_trx_14days','num_items_bought_14days'
                )
  return ptf_overall1

#display(df_ptf_overall(journey_level_revenue_email_open_click,analysis_start_date))

def df_ptf_overall2(df : DataFrame,startdate : StringType):
  ptf_overall2 = df_ptf_overall(df,startdate).filter('measurement_group = "test"') \
    .withColumn('journey_email_been_sent_flag',F.when(F.col('email_14days') > 0,F.lit(1)).otherwise(F.lit(0))) \
    .withColumn('journey_opened_flag',F.when(F.col('opened_14days') > 0,F.lit(1)).otherwise(F.lit(0))) \
    .withColumn('journey_clicked_flag',F.when(F.col('clicked_14days') > 0,F.lit(1)).otherwise(F.lit(0))) \
    .withColumn('journey_transaction_flag',F.when(F.col('revenue_14days') > 0,F.lit(1)).otherwise(F.lit(0)))
  return ptf_overall2

#display(df_ptf_overall2(journey_level_revenue_email_open_click,analysis_start_date))

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)