首页 > 解决方案 > SnowPipe 定义中不允许使用 UDF

问题描述

我创建了一个 Snowflake Java UDF 函数snowflake_email_validation并尝试从雪管中调用该函数。

它将错误抛出为:

管道定义中不允许使用语言“JAVA”的用户定义函数“SNOWFLAKE_EMAIL_VALIDATION”。

这是我的命令

create or replace pipe emailpipe auto_ingest=true as 
  copy into TGT_EMAIL_TABLE(EMAIL, IS_VALID) 
  from (select $1,snowflake_email_validation($1) from @s3_stage) 
  on_error=continue;

请帮助解决这个问题

标签: snowflake-cloud-data-platform

解决方案


COPY INTO 有几个类似的限制,Snowpipe 只能与 COPY INTO 一起使用。

尝试以下不同的查询作为替代方法。它最终可以封装在存储过程中,并由任务按计划定期调用。

create or replace table TGT_EMAIL_TABLE(EMAIL, IS_VALID) as
  select $1, snowflake_email_validation($1)
  from @s3_stage
 

推荐阅读