Tapdata Connector 实用指南:数据入仓场景之数据实时同步到 BigQuery

news2024/11/15 21:57:29

【前言】作为中国的 “Fivetran/Airbyte”, Tapdata 是一个以低延迟数据移动为核心优势构建的现代数据平台,内置 60+
数据连接器,拥有稳定的实时采集和传输能力、秒级响应的数据实时计算能力、稳定易用的数据实时服务能力,以及低代码可视化操作等。典型用例包括数据库到数据库的复制、将数据引入数据仓库或数据湖,以及通用
ETL 处理等。

随着 Tapdata Connector 的不断增长,我们最新推出《Tapdata Connector
实用指南》系列内容,以文字解析辅以视频演示,还原技术实现细节,模拟实际技术及应用场景需求,提供可以“收藏跟练”的实用专栏。本期实用指南以
SQL Server → BigQuery 为例,演示数据入仓场景下,如何将数据实时同步到 BigQuery。

数据规模仍在持续扩大的今天,为了从中获得可操作的洞察力,进一步实现数据分析策略的现代化转型,越来越多的企业开始把目光投注到 BigQuery 之上,希望通过 BigQuery 来运行大规模关键任务应用,从而达到优化运营、改善客户体验并降低总体拥有成本的目的。

作为自带 ETL 的实时数据平台,我们也看到了很多从传统内部数据仓库向 BigQuery 的数据迁移需求。

一、BigQuery 的云数仓优势

作为一款由 Google Cloud 提供的云原生企业级数据仓库,BigQuery 借助 Google 基础架构的强大处理能力,可以实现海量数据超快速 SQL 查询,以及对 PB 级数据进行安全并可扩展的分析。同时也因其天然具备的无服务器架构、低成本等特性,备受数据分析师和数据工程师的青睐,在数据存储和处理上表现出更出色的便利性。

BigQuery 在企业中通常用于存储来自多个系统的历史与最新数据,作为整体数据集成策略的一部分,也常作为既有数据库的补充存在。其优势在于:

  • 在不影响线上业务的情况下进行快速分析:BigQuery 专为快速高效的分析而设计, 通过在 BigQuery 中创建数据的副本, 可以针对该副本执行复杂的分析查询, 而不会影响线上业务。
  • 数据集中存储, 提高分析效率:对于分析师而言,使用多个平台耗时费力,如果将来自多个系统的数据组合到一个集中式数据仓库中,可以有效减少这些成本。
  • 安全性保障:可以控制对加密项目或数据集的访问,并实施身份访问管理。
  • 可扩展性:支持根据公司的规模、性能和成本要求定制数据存储。
  • 友好兼容:作为 Google Cloud 的一部分,它与 Google 系产品更兼容,对相关用户更友好。

为了实现上述优势,我们需要首先实现数据向 BigQuery 的同步。

二、SQLServer → BigQuery 的数据入仓任务

👆👆点击查看完整演示
(*本演示视频版本为 Tapdata 本地部署版本)

版本指路:

点击登录 Tapdata Cloud

申请试用 Tapdata 本地部署版

BigQuery 准备工作

  1. 登录 Google Cloud 凭据页面

  2. 创建服务账号,该账号将用于后续的身份验证。
    a. 在页面顶部,单击创建凭据 > 服务账号。
    b. 在服务账号详情区域,填写服务账号的名称、ID 和说明信息,单击创建并继续。
    在这里插入图片描述
    c. 在角色下拉框中输入并选中 BigQuery Admin,单击页面底部的完成。
    在这里插入图片描述

  3. 为服务账号创建认证密钥。
    a. 在跳转到的凭据页面,单击页面下方刚创建的服务账号。
    b. 在密钥标签页,单击添加密钥 > 创建新密钥。
    在这里插入图片描述

    c. 在弹出的对话框中,选择密钥类型为 JSON,然后单击创建。
    d. 操作完成后密钥文件将自动下载保存至您的电脑,为保障账户安全性,请妥善保管密钥文件。
    e. 登录 Google Cloud 控制台,创建数据集和表,如已存在可跳过本步骤。
    i. 创建 BigQuery 数据集(*为保障 Tapdata Cloud 正常读取到数据集信息,创建数据集时,选择位置类型为多区域)
    ii. 创建表

操作流程详解(Tapdata Cloud)

① 登录 Tapdata Cloud
在这里插入图片描述

  • 默认已完成 Tapdata Cloud 账号注册及 Agent 部署
  • 确保 Tapdata Agent 所属机器可访问 Google 云服务,例如可将 Agent 安装至海外服务器。

② 创建数据源 SQL Server 的连接
在这里插入图片描述

在这里插入图片描述

在 Tapdata Cloud 连接管理菜单栏,点击【创建连接】按钮, 在弹出的窗口中选择 SQL Server 数据库,并点击确定。

参考右侧【连接配置帮助】,完成连接创建:
在这里插入图片描述
③ 创建数据目标 BigQuery 的连接

  1. 在 Tapdata Cloud 连接管理右侧菜单栏,点击【创建连接】按钮,在弹出的窗口中选择 BigQuery,并点击确定

  2. 根据已获取的服务账号,在配置中输入 Google Cloud 相关信息,详细说明如下:
    在这里插入图片描述

  • 连接名称:填写具有业务意义的独有名称。
  • 连接类型:目前仅支持作为目标。
  • 访问账号(JSON):用文本编辑器打开您在准备工作中下载的密钥文件,将其复制粘贴进该文本框中。
  • 数据集 ID:选择 BigQuery 中已有的数据集。(输入服务账号后, 即可列出全部数据集)
  • agent 设置:选择平台自动分配,如有多个 Agent,请手动指定可访问 Google 云服务的 Agent。
  1. 单击连接测试,测试通过后单击保存。(*如提示连接测试失败,可根据页面提示进行修复)

④ 新建并运行 SQL Server 到 BigQuery 的同步任务

在这里插入图片描述

三、Why Tapdata?

借助 Tapdata 出色的实时数据能力和广泛的数据源支持,可以在几分钟内完成从源库到 BigQuery 包括全量、增量等在内的多重数据同步任务。

基于 BigQuery 特性,Tapdata 做出了哪些针对性调整

在开发过程中,Tapdata 发现 BigQuery 存在如下三点不同于传统数据库的特征:

  • 如使用 JDBC 进行数据的写入与更新,则性能较差,无法满足实际使用要求;
  • 如使用 StreamAPI 进行数据写入,虽然速度较快,但写入的数据在一段时间内无法更新;
  • 一些数据操作存在 QPS 限制,无法像传统数据库一样随意对数据进行写入。

为此,Tapdata 选择将 Stream API 与 Merge API 联合使用,既满足了数据高性能写入的需要,又成功将延迟保持在可控范围内,具体实现逻辑如下:

  • 在数据全量写入阶段,由于只存在数据的写入,没有变更与删除操作,因此直接使用 Stream API 进行数据导入。
  • 在数据增量阶段,先将增量事件写入一张临时表,并按照一定的时间间隔,将临时表与全量的数据表通过一个 SQL 进行批量 Merge,完成更新与删除的同步。
  • 两个阶段的 Merge 操作,第一次进行时,强制等待时间为 30min,以避免触发 Stream API 写入的数据无法更新的限制,之后的 Merge 操作时间可以配置,这个时间即为增量的同步延迟时间,一般配置在 5min 以内。

Tapdata 有哪些优势?

此外,对于数据同步任务而言,Tapdata 同时兼具如下优势:

  • 内置 60+ 数据连接器,稳定的实时采集和传输能力
    以实时的方式从各个数据来源,包括数据库、API、队列、物联网等数据提供者采集或同步最新的数据变化。支持多源异构数据双向同步,自动映射关系型到非关系型。一键实现实时捕获,毫秒内更新。已内置 60+连接器且不断拓展中,覆盖大部分主流的数据库和类型,并支持您自定义数据源。

  • 具有强可扩展性的 PDK 架构
    4 小时快速对接 SaaS API 系统;16 小时快速对接数据库系统。

  • 对源库几乎无影响
    基于自研的 CDC 日志解析技术,0入侵实时采集数据,对源库几乎无影响。

  • 全链路实时
    基于 Pipeline 流式数据处理,以应对基于单条数据记录的即时处理需求,如数据库 CDC、消息、IoT 事件等。不同于传统 ETL,每一条新产生并进入到平台的数据,会在秒级范围被响应,计算,处理并写入到目标表中。同时提供了基于时间窗的统计分析能力,适用于实时分析场景。

  • 数据一致性保障
    通过多种自研技术,保障目标端数据与源数据的高一致性,并支持通过多种方式完成一致性校验,保障生产要求。

  • 可视化任务运行监控和告警
    包含 20+ 可观测性指标,包括全量同步进度、增量同步延迟等,能够实时监控在运行任务的最新运行状态、日志信息等,支持任务告警。

【相关阅读】

  • Tapdata Cloud 场景通关系列:集成阿里云计算巢,实现一键云上部署真正开箱即用
  • Tapdata Cloud 场景通关系列:将数据导入阿里云 Tablestore,获得毫秒级在线查询和检索能力
  • Tapdata Cloud 场景通关系列:数据入湖仓之 MySQL → Doris,极简架构,更实时、更简便

原文链接:https://tapdata.net/tapdata-connector-sqlserver-bigquery.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/358377.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

恢复 iPhone 和 iPad 数据的 10 种简单工具

它发生了.. 有时您需要从您的手机或平板设备恢复重要数据。 许多人已经开始将重要文件存储在手机上,因为他们几乎可以在任何情况下随时随地轻松访问数据。 从技术上讲,您会在几分之一秒内丢失所有存储的信息、照片、视频、音乐、文档等。因此&#xff…

一文3000字用Postman从0到1实现UI自动化测试

“阅读本文大概需要4分钟。Postman不是做接口测试的吗?为什么还能做UI自动化测试呢? 其实,只要你了解Selenium的运行原理,就可以理解为什么Postman也能实现UI自动化测试了。 Selenium底层原理 运行代码,启动浏览器后…

笔试题(十六):计算矩阵面积

# 我们给出了一个(轴对齐的)二维矩形列表 rectangles。 # 对于 rectangle[i] [xi1, yi1, xi2, yi2],表示第i个矩形的坐标, # (xi1, yi1)是该矩形左下角的坐标, (xi2, yi2)是该矩形右上角的坐标。 # 计算平面中所有 r…

CAJ论文怎么批量免费转换成Word

大家都知道CAJ文件吗?这是中国学术期刊数据库中的文件,这种文件类型比较特殊。如果想要提取其中的内容使用,该如何操作呢?大家可以试试下面这种免费的caj转word的方法,多个文档也可以一起批量转换。准备材料:CAJ文档、…

信息系统项目管理师知识点汇总(2023最新)

信息系统项目管理师 信息系统项目管理师简介如何应对考试考试细节与学习 十大管理 十大管理四十七过程 信息化和信息系统 项目管理基础 项目整体管理 项目范围管理 项目进度管理 项目成本管理 项目质量管理 项目人力资源管理 项目沟通管理 项目干系人管理 项目风险…

pytest数据驱动

文章目录一、数据驱动概念二、数据驱动yaml1、yaml的基本语法:2、yaml支持的数据格式:3、安装4、使用5、读取方法a、目录结构b、yaml文件c、测试方法d、测试用例e、测试结果三、数据驱动excel1、安装导入2、操作3、读取方法a、目录结构b、excel文件c、测…

(考研湖科大教书匠计算机网络)第五章传输层-第七节:TCP可靠传输

获取pdf:密码7281专栏目录首页:【专栏必读】考研湖科大教书匠计算机网络笔记导航 文章目录一:TCP可靠传输二:补充说明本节对应视频如下 【计算机网络微课堂(有字幕无背景音乐版)】:TCP可靠传输 …

Navicat Premium 安装 注册

Navicat Premium 一.Navicat Premium的安装 1.暂时关闭windows的病毒与威胁防护弄完再开,之后安装打开过程中弹窗所有警告全部允许,不然会被拦住 2.下载安装包,解压 链接:https://pan.baidu.com/s/1X24VPC4xq586YdsnasE5JA?pwdu4vi 提取码…

Qt 线程

Qt中线程的解释: QThread(线程),代表一个在应用程序中可以独立控制的线程,可以和进程中的其他线程分享数据。QThread 对象管理程序中的一个控制线程。QThreads 在 run() 中开始执行。默认情况下,run&#…

DDFN: Decoupled Dynamic Filter Networks解耦的动态卷积

一、论文信息 论文名称:Decoupled Dynamic Filter Networks 论文:https://thefoxofsky.github.io/files/ddf.pdf 代码:https://github.com/theFoxofSky/ddfnet 主页:https://thefoxofsky.github.io/project_pages/ddf 作者团…

kubectl常用的命令

目录 安装 kubectl 一、命令自动补全 二、常用命令 1、查看所有pod列表 2、查看RC和service列表 3、显示Node的详细信息 4、显示Pod的详细信息, 特别是查看Pod无法创建的时候的日志 5、 根据yaml创建资源, apply可以重复执行,create不行 6、基于nginx.yaml…

实验室设计SICOLAB第三方检测中心实验室设计

第三方检测中心实验室怎么设计?详细设计内容有哪些?功能区域有哪些?仪器有哪些?要多少面积?第三方检测中心实验室是一种独立的实验室,为客户提供各种测试和分析服务。以下是一个第三方检测中心实验室的详细…

给你安利几款好用的谷歌浏览器插件

给你安利几款好用的谷歌浏览器插件前言一 Octotree 插件二 GitCodeTree 插件三 SourceGraph 插件四 GitZip 插件五 Enhanced GitHub 插件六 插件下载安装6.1 谷歌应用商店下载6.2 离线安装6.2.1 下载插件6.2.2 安装插件七 移除、启用、停用插件小结前言 GitHub是全球最大的代码…

Windows PowerShell中成功进入conda虚拟环境

本人操作系统是Windows10(输入命令cmd或在运运行中输入winver查看)在cmd命令行中大家都很熟悉,很方便进入到指定创建了的虚拟环境中,那么在PowerShell中怎么进入呢?比如在VSCode中的TERMINAL使用的是PowerShell&#x…

论文阅读笔记-DiffusionInst: Diffusion Model for Instance Segmentation

文章目录DiffusionInst: Diffusion Model for Instance Segmentation摘要介绍任务介绍实例分割的几种方法想法来源贡献方法整体结构Mask RepresentationDiffusionInst组成TrainingInference不足之处感悟DiffusionInst: Diffusion Model for Instance Segmentation 代码&#x…

魔兽世界经典怀旧服务器架设教程

准备工具:MySQL服务端服务器最重要的你需要会技术、要不然都瞎扯 给你东西你也看不懂。教程开始:安装MySQL并创建数据库安装MySQL社区版,并配置SQL服务器。安装SQLyog。利用其登录,创建realmd、characters、mangos、scriptdev2数据…

普通动物实验室规划设计SICOLAB

一、普通动物实验室普通动物实验室是进行动物实验的专门场所,用于研究疾病的发生机制,测试药物的安全性和有效性等。以下是普通动物实验室设计的一些细节和功能房间:(1)动物饲养区:用于饲养动物&#xff0c…

面试浅谈之 C++ STL 篇

面试浅谈之 C STL 篇 一 🏠 概述 HELLO,各位博友好,我是阿呆 🙈🙈🙈 这里是面试浅谈系列,收录在专栏面试中 😜😜😜 本系列将记录一些阿呆个人整理的面试题…

hydra常见端口服务穷举

目录 工具介绍 参数说明 官方示例 官方字典 ssh爆破 ftp爆破 mysql爆破 smb爆破 rdb爆破 http爆破 redis爆破 工具介绍 hydra 是一个支持众多协议的爆破工具,已经集成到KaliLinux中,直接在终端打开即可 参数说明 -l : 指定破…

Linux下安装MySQL8.0的详细步骤(解压tar.xz安装包方式安装)

Linux下安装MySQL8.0的详细步骤 第一步:下载安装配置 第二步:修改密码,并设置远程连接(为了可以在别的机器下面连接该mysql) 第三步:使用Navicat客户端连接 搞了一台云服务器,首先要干的活就是…