通过这种方式也能吧数据写入pg里面嘛?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
是的,您可以使用阿里云实时计算Flink版将数据写入云原生数据仓库AnalyticDB PostgreSQL版(ADB PG)中。具体操作步骤如下:
配置sink表:在Flink作业中定义一个临时表(sink表),指定与ADB PG相关的连接参数,包括url
、tablename
、username
和password
等。例如:
CREATE TEMPORARY TABLE sink_adbpg (
id int,
username varchar,
score int
) WITH (
'connector' = 'adbpg',
'url' = 'jdbc:postgresql://yourADBPGInstanceURL:5432/yourDatabase',
'tablename' = 'adbpg_sink_table',
'username' = 'yourUsername',
'password' = 'yourPassword',
'maxRetryTimes' = '2',
'conflictMode' = 'ignore',
'retryWaitTime' = '200'
);
编写插入语句:在Flink SQL中编写INSERT INTO语句,从数据源(如datagen_source
表)选择数据并插入到刚创建的sink表中:
INSERT INTO sink_adbpg
SELECT ts.id,ts.username,ds.score
FROM datagen_source AS ds
JOIN dim_adbpg FOR SYSTEM_TIME AS OF PROCTIME() AS ts
on ds.id = ts.id;
部署并启动作业:在Flink作业开发页面完成语法检查后,部署该作业,并在运维中心启动它。
查看结果:登录ADB PG控制台,通过执行SQL查询语句来验证数据是否成功写入:
SELECT * FROM adbpg_sink_table ORDER BY id;
确保在操作前已正确设置ADB PG的访问权限和网络配置,且Flink作业中的数据库连接信息与ADB PG实例的实际信息相匹配。这样,您就可以实现将数据通过Flink实时写入到PostgreSQL数据库中了。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。