当前位置: 首页 > news >正文

东阳做网站的公司WordPress推荐引擎

东阳做网站的公司,WordPress推荐引擎,app简易开发平台,中国城乡住房建设厅网站首页章节内容 上节我们完成了如下的内容: Sqoop MySQL迁移到HiveSqoop Hive迁移数据到MySQL编写脚本进行数据导入导出测试 背景介绍 这里是三台公网云服务器,每台 2C4G,搭建一个Hadoop的学习环境,供我学习。 之前已经在 VM 虚拟机…

章节内容

上节我们完成了如下的内容:

  • Sqoop MySQL迁移到Hive
  • Sqoop Hive迁移数据到MySQL
  • 编写脚本进行数据导入导出测试

背景介绍

这里是三台公网云服务器,每台 2C4G,搭建一个Hadoop的学习环境,供我学习。
之前已经在 VM 虚拟机上搭建过一次,但是没留下笔记,这次趁着前几天薅羊毛的3台机器,赶紧尝试在公网上搭建体验一下。

  • 2C4G 编号 h121
  • 2C4G 编号 h122
  • 2C2G 编号 h123

在这里插入图片描述

CDC

全称为:变化数据捕获(Change Data Capture)
我们前面执行的都是全量数据的导入。

  • 如果数据量很小采取完全源数据抽取
    • 如果源数据量很大,则需要抽取发生变化的数据,这种数据抽取模式叫:“变化数据捕获”,简称 CDC。

如果CDC是侵入式的,那么操作会给源系统带来性能的影响

基于时间戳

抽取过程可以根据某些属性列来判断哪些数据是增量的,最常见的属性列有以下两种:

  • 时间戳:最好有两个列,一个插入时间戳,表示何时创建,一个更新时间戳表示最后一次更新时间。
  • 序列:大多数数据库都提供自增功能,表中的列定义成自增的,很容易得根据该列识别新插入的数据

时间戳最简单且常用的,但是有如下缺点

  • 不能记录删除记录的操作
  • 无法识别多次更新
  • 不具有实时的能力

基于触发器

当执行:INSERTUPDATEDELTE 这些 SQL 语句时,激活数据库的触发器,使用触发器可捕获变更的数据,并把数据保存中间临时表里。
大多数场合下,不允许向操作性数据库里添加触发器,且这种会降低系统性能,基本不会采用。

基于快照

可以通过比较源表快照表来得到数据的变化,基于快照的CDC可以检测插入、更新、删除等数据,这是相对于时间戳的CDC方案的优点。
缺点就是需要大量的空间

基于日志

最复杂没有侵入性的就是基于日志的方式,数据库把每个插入、更新、删除都记录到日志里,解析日志文件,就可以获取相关的信息。
每个关系型数据库:日志格式不一致没有通用的产品。
阿里巴巴的Canal可以完成MySQL日志文件解析。

Append方式

初始化数据

删除 MySQL 中的数据

-- 删除 MySQL 表中的全部数据
truncate table sqoop.goodtbl;

删除Hive中的数据

-- 删除 Hive 表中的全部数据
truncate table mydb.goodtbl;

重新生成数据

这个SQL是之前章节写的函数方法,如果你第一次看到这里,你可能需要把前边的文章执行一次。

-- 向MySQL的表中插入100条数据
call batchInsertTestData(1, 100);

导入Hive

sqoop import \
--connect jdbc:mysql://h122.wzk.icu:3306/sqoop \
--username hive --password hive@wzk.icu \
--table goodtbl \
--incremental append \
--hive-import \
--fields-terminated-by "\t" \
--hive-table mydb.goodtbl \
--check-column serialNumber \
--last-value 50 \
-m 1

以上参数说明:

  • check-column 用来指定一些列,来检查是否可以作为增量数据进行导入,和关系型数据库自增或时间戳类似。
  • last-value 制定上一次导入检查列指定字段的最大值

在这里插入图片描述

检查Hive

我们通过指令查看 Hive 同步了多少数据过来:

select count(*) from mydb.goodtbl;

继续生成

call batchInsertTestData(200, 1000);

增量导入

sqoop import \
--connect jdbc:mysql://h122.wzk.icu:3306/sqoop \
--username hive --password hive@wzk.icu \
--table goodtbl \
--incremental append \
--hive-import \
--fields-terminated-by "\t" \
--hive-table mydb.goodtbl \
--check-column serialNumber \
--last-value 100 \
-m 1

检查Hive

重新查看Hive,看看目前同步了多少数据过来

select count(*) from mydb.goodtbl;
http://www.sczhlp.com/news/131946/

相关文章:

  • 题目记录(Before NOIP2025 ver)
  • 专业修复sqlserver master 数据库损坏。
  • jenkins job的configure中配置git时 选择的credential为什么不能选择secret认证方式的数据
  • Day21继承
  • 重庆做网站有哪些做网站卖高仿
  • 网站开发 q3687474商洛网站设计
  • 自己制作网站的步骤医疗网站建设意见
  • 网站建设书籍2013年的网站建设开发价格怎么算
  • 做自媒体可以搬运国外网站新闻吗如何建立网站快捷
  • 比较知名的设计网站有哪些手机网站搜索优化
  • 怎样建立网站平台丹阳网站建设效果
  • C# Avalonia 15- Animation- ImageWipe
  • 网站建设seo视频网络规划设计师资料及视频教程
  • 网站建设营销方案定制网站比较分析
  • 河南网站制作团队用插件做的炫酷网站
  • 东莞公司建设网站制作做问卷调查的网站有哪些内容
  • 长沙微信网站制作深圳网站制作公司兴田德润怎么样
  • 手机网站开发团队网站建设公司i
  • 题解:P8067 [BalkanOI 2012] balls
  • 题解:P8300 [COCI 2012/2013 #2] INSPEKTOR
  • SuperHarness-3D低压柜机电协同设计方案!
  • 详细介绍:.NET驾驭Word之力:打造专业文档 - 页面设置与打印控制完全指南
  • 慈溪网站建设慈溪网站建设是怎么收费的
  • 公司建网站做app要多少钱深圳好的网站建设公司
  • 做网站可以抄袭别人吗河北中凯建设有限公司网站
  • 做网站图片分辨率做视频网站的挣钱吗
  • 使用.NET标准库实现多任务并行处理的详细过程 - 实践
  • 用word制作网页教程seo营销优化软件
  • 深圳深圳网站开发建网站哪家好 优帮云
  • 建立网站团队中文搭建式软件开发工具