snowpark-how to apply dynamic filter

251 views Asked by At

I am trying to do the merge operation based on key condition

CREATE OR REPLACE PROCEDURE reverse_string(keys Array)
  RETURNS STRING
  LANGUAGE PYTHON
  RUNTIME_VERSION = '3.8'
  PACKAGES = ('snowflake-snowpark-python')
  HANDLER = 'reverse_str'
AS
$$
from snowflake.snowpark.functions import when_matached
def reverse_str(session,keys):
  df_src= session.table(source_table)
  df_tgt= session.table(target_table)
  
  df_tgt.merge(df_src, df_tgt[key1]==df_src[key1] &&  df_tgt[key2]==df_src[key2], [when_matched().delete()])

  return 'Pass'
$$;

So this function expects to truncate records against a list of keys. But now I want this function to dynamically read a list of keys for key matching.

Here is an example usage:

df_tgt.merge(df_src, df_tgt[dynamickey]==df_src[dynamickey] , [when_matched().delete()])

Any solution to this?

0

There are 0 answers