用Google CDC来同步Cloud SQL的数据到Bigquery

这篇具有很好参考价值的文章主要介绍了用Google CDC来同步Cloud SQL的数据到Bigquery。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在Google的云平台中,我创建了一个Cloud SQL的Postgresql实例,在上面保存了一些业务数据。现在需要定期把这些数据同步到Bigquery数据仓库中,这样我们就能在Bigquery上进行数据的后续分析处理,生成数据报表。

Google提供了一个Datastream的服务,通过CDC(Capture data change)的方式,把Cloudsql数据库的改动,例如增删更新等操作,同步到Bigquery的数据集。以下将介绍如何设置Datastream来完成。

因为我的Cloudsql实例没有暴露公网IP,因此我们需要设置VPC peering的方式,把Datastream的VPC和我的GCP项目的VPC网络连接起来。另外Cloudsql是在一个单独的Service network中,我们还需要通过反向代理的方式来连接到cloudsql

设置Datastream私有连接

在Datastream的Private Connectivity里面,新建一个连接profile。在profile里面我们需要设置VPC network,这个就是我们项目当前所在的VPC网络。然后需要分配一个IP地址段给Datastream来起一个子网。这个IP地址段不能是已分配的IP地址段,并且至少要具备/29的地址。

设置防火墙规则

在VPC网络的防火墙设置里面,新增两条规则,分别对应ingress和egress。其中target需要输入我们刚才分配的地址段,然后开放TCP:5432端口。

设置反向代理

在VPC网络里面设置一台VM,然后运行以下代码的脚本,设置一个反向代理

#! /bin/bash

export DB_ADDR=[IP]
export DB_PORT=[PORT]

export ETH_NAME=$(ip -o link show | awk -F': ' '{print $2}' | grep -v lo)

export LOCAL_IP_ADDR=$(ip -4 addr show $ETH_NAME | grep -Po 'inet \K[\d.]+')

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -p tcp -m tcp --dport $DB_PORT -j DNAT \
--to-destination $DB_ADDR:$DB_PORT
iptables -t nat -A POSTROUTING -j SNAT --to-source $LOCAL_IP_ADDR

这里的DB_ADDR,DB_PORT填写CloudSQL的PG数据库的地址和端口

PG配置

连接到PG数据库,创建一个publication和replication slot

以下命令将赋予用户创建replication的role

ALTER USER USER_NAME WITH REPLICATION;

创建一个publication,这里假设我们要复制public这个schma的test表,那么把以下的SCHEMA1替换为public,把TABLE1替换为test

CREATE PUBLICATION PUBLICATION_NAME FOR TABLE SCHEMA1.TABLE1, SCHEMA2.TABLE2;

创建一个replication slot

SELECT PG_CREATE_LOGICAL_REPLICATION_SLOT('REPLICATION_SLOT_NAME', 'pgoutput');

设置Datastream

最后就可以设置一个stream了,这里连接数据库的地址需要输入刚才我们设置的反向代理的VM的地址和端口,以及我们之前配置的PG的publication和replication slot的name。最后就可以成功运行了。我们可以测试一下,在PG数据表里面做相应的改动,然后在Bigquery的数据表里面等待一会儿就可以看到数据能同步过去了。文章来源地址https://www.toymoban.com/news/detail-704994.html

到了这里,关于用Google CDC来同步Cloud SQL的数据到Bigquery的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • flink cdc数据同步,DataStream方式和SQL方式的简单使用

    目录 一、flink cdc介绍 1、什么是flink cdc 2、flink cdc能用来做什么 3、flink cdc的优点 二、flink cdc基础使用 1、使用flink cdc读取txt文本数据 2、DataStream的使用方式 3、SQL的方式 总结 flink cdc是一个由阿里研发的,一个可以直接从MySQL、PostgreSQL等数据库直接读取全量数据和增量变更数

    2024年02月13日
    浏览(40)
  • 实战Java springboot 采用Flink CDC操作SQL Server数据库获取增量变更数据

    目录 前言: 1、springboot引入依赖: 2、yml配置文件 3、创建SQL server CDC变更数据监听器 4、反序列化数据,转为变更JSON对象 5、CDC 数据实体类 6、自定义ApplicationContextUtil 7、自定义sink 交由spring管理,处理变更数据         我的场景是从SQL Server数据库获取指定表的增量数据,查

    2024年02月10日
    浏览(88)
  • SQL server 数据库同步(发布与订阅)【解决办法】

    注意:所有连接数据库操作时注意连接的数据库是否在所选服务器上 ![在这里插入图片描述](https://img-blog.csdnimg.cn/38812acbb640420b89ba666dd016adb8.png) 在 发布服务器 和 订阅服务器 本地防火墙放通1433端口 参考 【操作方法】windows防火墙添加出入站规则方法 此处选择影响代理管理位

    2024年02月16日
    浏览(31)
  • Flink CDC实时同步PG数据库

    JDK:1.8 Flink:1.16.2 Scala:2.11 Hadoop:3.1.3 github地址:https://github.com/rockets0421/FlinkCDC-PG.git  1、更改配置文件postgresql.conf # 更改wal日志方式为logical wal_level = logical # minimal, replica, or logical # 更改solts最大数量(默认值为10),flink-cdc默认一张表占用一个slots max_replication_slots = 20 # m

    2024年02月13日
    浏览(64)
  • 基于Flink CDC实时同步PostgreSQL与Tidb【Flink SQL Client模式下亲测可行,详细教程】

    操作系统:ubuntu-22.04,运行于wsl 2【 注意,请务必使用wsl 2 ;wsl 1会出现各种各样的问题】 软件版本:PostgreSQL 14.9,TiDB v7.3.0,flink 1.7.1,flink cdc 2.4.0 已有postgre的跳过此步 (1)pg安装 https://zhuanlan.zhihu.com/p/143156636 (2)pg配置 可能出现的问题 sudo -u postgres psql 报错: psql: err

    2024年02月11日
    浏览(34)
  • 60、Flink CDC 入门介绍及Streaming ELT示例(同步Mysql数据库数据到Elasticsearch)-CDC Connector介绍及示例 (1)

    一、Flink 专栏 Flink 专栏系统介绍某一知识点,并辅以具体的示例进行说明。 1、Flink 部署系列 本部分介绍Flink的部署、配置相关基础内容。 2、Flink基础系列 本部分介绍Flink 的基础部分,比如术语、架构、编程模型、编程指南、基本的datastream api用法、四大基石等内容。 3、

    2024年02月19日
    浏览(47)
  • flink cdc同步Oracle数据库资料到Doris问题集锦

    java.lang.NoClassDefFoundError: org/apache/flink/shaded/guava18/com/google/common/util/concurrent/ThreadFactoryBuilder at com.ververica.cdc.debezium.DebeziumSourceFunction.open(DebeziumSourceFunction.java:218) ~[flink-connector-debezium-2.2.0.jar:2.2.0] at org.apache.flink.api.common.functions.util.FunctionUtils.openFunction(FunctionUtils.java:34) ~[flink-co

    2024年02月16日
    浏览(43)
  • 【大数据】Flink 详解(十):SQL 篇 Ⅲ(Flink SQL CDC)

    《 Flink 详解 》系列(已完结),共包含以下 10 10 10 篇文章: 【大数据】Flink 详解(一):基础篇(架构、并行度、算子) 【大数据】Flink 详解(二):核心篇 Ⅰ(窗口、WaterMark) 【大数据】Flink 详解(三):核心篇 Ⅱ(状态 State) 【大数据】Flink 详解(四):核心篇

    2024年01月25日
    浏览(50)
  • SQL server开启变更数据捕获(CDC)

    多多点赞,会变好看! 多多留言,会变有钱! 变更数据捕获(Change Data Capture ,简称 CDC):记录 SQL Server 表的插入、更新和删除操作。开启cdc的源表在插入、更新和删除操作时会插入数据到日志表中。cdc通过捕获进程将变更数据捕获到变更表中,通过cdc提供的查询函数,可

    2024年02月11日
    浏览(35)
  • 基于 Flink SQL CDC 数据处理的终极武器

    来源互联网多篇文章总结 业务系统经常会遇到需要更新数据到多个存储的需求。例如:一个订单系统刚刚开始只需要写入数据库即可完成业务使用。某天 BI 团队期望对数据库做全文索引,于是我们同时要写多一份数据到 ES 中,改造后一段时间,又有需求需要写入到 Redis 缓存

    2024年02月16日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包