如何解决可以使用Snowflake UDF即时创建MD5吗?
我想知道是否有人举过一个在Snowflake中使用UDF创建MD5结果的示例?
方案:我想要一个UDF可以根据源设置X列以创建MD5结果。因此表A可能有5列,表B则有10列...并且考虑了各种数据类型。
谢谢
托德
解决方法
雪花已经提供了内置功能的md5。
https://docs.snowflake.com/en/sql-reference/functions/md5.html
select md5('Snowflake');
----------------------------------+
MD5('SNOWFLAKE') |
----------------------------------+
edf1439075a83a447fb8b630ddc9c8de |
----------------------------------+
,
有许多方法可以进行MD5计算。但是我认为最好了解您的用例。我假设您想使用MD5来验证迁移到Snowflake的数据。如果真是这样,那么检查雪花每一行的MD5方法可能会很昂贵。验证的最佳方法是为表标识每个列,并为每个列计算MIN,MAX,COUNT,NULL数,DISTINCT COUNT,然后使用源进行验证。我使用这种方法创建了一个框架,在该框架中,我使用“ SHOW COLUMNS”查询来获取“ COLUMNS”列表。该框架还允许在需要时跳过某些列,还根据动态条件过滤检索到的行数。这种验证数据的方式将更加理想。肯定有助于更好地了解您的用例。
MD5
这对您有用吗
create or replace function md5_calc (column_name varchar)
returns varchar
LANGUAGE SQL
AS $$
select md5(column_name)
$$;
SELECT EMPLID,md5_calc(EMPLID),EMPNAME,md5_calc(EMPNAME) from employee;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。