AWS redshift->hdb pg(Greenplum), plpython, pljava UDF 以及upload library

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介: postgresql greenplum python udf

背景
AWS redshift UDF 支持sql, plpython编写。

阿里云hdb pg UDF支持plpgsql, sql, plpython, pljava编写。

aws redshift通过create library导入外部LIB。

阿里云hdb pg同样通过CREATE LIBRARY导入外部LIB。

redshift 创建UDF函数
https://docs.aws.amazon.com/redshift/latest/dg/udf-creating-a-scalar-udf.html

CREATE [ OR REPLACE ] FUNCTION f_function_name
( { [py_arg_name py_arg_data_type |
sql_arg_data_type } [ , ... ] ] )
RETURNS data_type
{ VOLATILE | STABLE | IMMUTABLE }
AS

$$ { python_program | SELECT_clause } $$

LANGUAGE { plpythonu | sql }

create function f_py_greater (a float, b float)
returns float
stable
as

$$ if a > b: return a return b $$

language plpythonu;
redshift 导入python lib
CREATE [ OR REPLACE ] LIBRARY library_name LANGUAGE plpythonu
FROM
{ 'https://file_url'
| 's3://bucketname/file_name'
authorization
[ REGION [AS] 'aws_region']
}
阿里云hdb pg创建UDF函数
https://help.aliyun.com/document_detail/50594.html

create extension pljava;

create library example language java from 'oss://oss-cn-hangzhou.aliyuncs.com filepath=analytics.jar id=xxx key=yyy bucket=zzz';

create table temp (a varchar) distributed randomly;
insert into temp values ('my string');
create or replace function java_substring(varchar, int, int) returns varchar as 'Test.substring' language java;
select java_substring(a, 1, 5) from temp;
阿里云hdb pg导入java lib
https://help.aliyun.com/document_detail/50595.html

CREATE LIBRARY library_name LANGUAGE [JAVA] FROM oss_location OWNER ownername
CREATE LIBRARY library_name LANGUAGE [JAVA] VALUES file_content_hex OWNER ownername
DROP LIBRARY library_name
create library example language java from 'oss://oss-cn-hangzhou.aliyuncs.com filepath=analytics.jar id=xxx key=yyy bucket=zzz';
参考
https://help.aliyun.com/document_detail/50595.html

https://help.aliyun.com/document_detail/50594.html

https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_LIBRARY.html
转自阿里云德哥

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
目录
相关文章
|
5月前
|
SQL 存储 JSON
【Azure 存储服务】Blob中数据通过Stream Analytics导出到SQL/Cosmos DB
【Azure 存储服务】Blob中数据通过Stream Analytics导出到SQL/Cosmos DB
|
7月前
|
SQL 关系型数据库 PostgreSQL
PostgreSQL和greenplum的copy命令可以添加字段吗?
【6月更文挑战第5天】PostgreSQL和greenplum的copy命令可以添加字段吗?
102 3
|
7月前
|
监控 关系型数据库 数据库
PostgreSQL和greenplum的copy命令如何使用?
【6月更文挑战第5天】PostgreSQL和greenplum的copy命令如何使用?
201 2
|
消息中间件 Oracle Java
MogDB/openGauss 实时同步工具 —— MDB (MogDB Data Bridge)
MogDB/openGauss 实时同步工具 —— MDB (MogDB Data Bridge)
482 0
MogDB/openGauss 实时同步工具 —— MDB (MogDB Data Bridge)
|
分布式数据库 Hbase
《JanusGraph —Distributed graph database with HBase》电子版地址
JanusGraph —Distributed graph database with HBase
90 0
《JanusGraph —Distributed graph database with HBase》电子版地址
|
Oracle Ubuntu 关系型数据库
Apache Doris Oracle ODBC外表使用指南
以下是Apache Doris Oracle ODBC外表使用指南。
472 0
|
Oracle Ubuntu 关系型数据库
CentOS下 Apache Doris Oracle ODBC外表使用指南
以下是CentOS下 Apache Doris Oracle ODBC外表使用指南。
436 0
|
分布式计算 关系型数据库 MaxCompute
Best Practices for Data Migration from MaxCompute to HybridDB for PostgreSQL
Users often struggle to migrate data from MaxCompute to HybridDB. This blog describes five steps that will help you migrate data conveniently.
2957 0
Best Practices for Data Migration from MaxCompute to HybridDB for PostgreSQL
|
关系型数据库
使用 www_fdw 插件向PG/PPAS导入数据
www_fdw 插件支持通过http协议把文本数据导入到PG/PPAS中 RDS PG/PPAS 新版本已经支持通过 www_fdw 下面简单介绍下使用方式 启动http服务 导入数据前,我们需要在文件服务器上启动一个http服务,再把要导入的文本数据放在对应目录 创建 www_fdw 插
3392 0