一、需求描述

由于本人主要从事大数据可视化的工作,就少不了对海量数据的分析,但是我们并不是数据的生产来源,数据来自有大数据可视化分析需求的用户,所以实际业务中往往会遇到大量数据从传统存储方式(关系型数据库、文件存储等)到数据仓库的迁移,本次就以实现如何基于kafka从oracle到hive仓库做数据的迁移工作。
本次操作的数据量为空间坐标数据,原始数据存储在oracle中,大概10亿条左右,通过本身oracle的sql查询操作已经是非常慢,很难用传统的查询统计方式对数据做大数据的聚合、统计、计算等分析操作,所以得到数据之后第一步就是将其迁移到hadoop 文件系统中,通过hive进行存储管理。
二、实现思路
1.hive
Hive是一个基于Hadoop的开源数据仓库工具,用于存储和处理海量结构化数据。它是Facebook 2008年8月开源的一个数据仓库框架,提供了类似于SQL语法的HQL语句作为数据访问接口,Hive有如下特点:
1.Hive 使用类SQL 查询语法, 最大限度的实现了和SQL标准的兼容,大大降低了传统数据分析人员学习的曲线;
2.使用JDBC 接口/ODBC接口,开发人员更易开发应用;
3.以MR 作为计算引擎、HDFS 作为存储系统,为超大数据集设计的计算/ 扩展能力;
4.统一的元数据管理(Derby、MySql等),并可与Pig 、Presto 等共享;
Hive的结构如下图所示:

2.主要实现思路
主要实现了两个程序,一个生产者程序,一个消费者程序,主要流程如下:
1.生产者程序通过sql查询获取前n条数据(实际操作是1000万条)
2.生产者程序创建临时表将这前n条数据存储起来
3.生产者程序对这n条数据进行清洗,转换,计算等操作(根据实际情况,处理成最终的数据结构和要求)
4.生产者程序将数据发送到kafka集群
5.消费者程序接收kafka 发送指定topic的数据,分批存储成hdfs文件
6.生产者程序删除前n条数据,然后重新按照第一条依次执行,直到数据处理完毕

三、总结

虽然上述执行操作可能不是一个很好的解决方案,但是实现了海量数据迁移的目的,能够支持多种关系数据库和多种文件格式的数据迁移,两个程序(生产者和消费者程序)之间通过中间格式(json,Protobuf等)进行数据的对接,耦合度非常低,针对不同业务,虽然需要调整解析代码,但是相对来说已经是比较便利的方式。

kafka消息系统-海量数据迁移方案相关推荐

  1. Kafka消息系统基础知识索引消息

    我们在上篇文章中,详细说明了KAFKA是否适合用在业务系统中,但有些朋友,还不知道KAFKA为何物,以及它为何存在.这在工作和面试中是比较吃亏的,因为不知道什么时候起,KAFKA似乎成了一种工程师的必 ...

  2. Day267.预约系统的性能瓶颈、营销活动无缝切换秒杀活动、预约系统数据迁移方案、高流量下预约系统搭建熔断机制、预约系统redis集群主从哨兵架构 -Redis的高并发预约抢购系统

    一.预约系统的性能瓶颈 1.预约系统应对热门爆品时的缺陷 用户进行预约会涉及到两个维度的数据变更一个是用户信息,一个是SKU信息,如图↓所示: 正常来说这么搞一点问题没有,即便涉及到写数据库,但是每个 ...

  3. Kafka跨集群迁移方案MirrorMaker原理、使用以及性能调优实践

    序言 Kakfa MirrorMaker是Kafka 官方提供的跨数据中心的流数据同步方案.其实现原理,其实就是通过从Source Cluster消费消息然后将消息生产到Target Cluster, ...

  4. kafka消息系统-Net开发库的使用与选择

    一.使用net kafka 消费 在一个项目中使用C#开发WPF的大屏展示程序,需要实时监控用户的车辆信息,并在地图上进行展示和更新,后台采取的策略是:用户车辆GPS传感器通过socket 发送到我们 ...

  5. 大数据学习笔记59:初探Kafka消息系统

    文章目录 一.Kafka概述 (一)Kafka是什么? (二)Kafka能做什么? (三)Kafka基本概念 1.Broker(经纪人) 2.Topic(主题) 3.Partition(分区) 4.P ...

  6. [2022.10.30] Linux系统硬盘迁移方案

    前段时间200在某鱼淘了一台小主机,银行淘汰下来的,处理器是j1900五脏俱全,到手就直接装了Ubuntu server系统跑docker当nas用.美中不足的是装完系统之后可用的存储空间只有50多G ...

  7. 服务器和应用系统迁移方案

    服务器和应用系统迁移方案 一.迁移方案总体思路 新旧系统的迁移是一个整体系统工程.迁移必须保证用户系统建设的相关要求,在迁移过程中,我们需要重点考虑几个问题: 1.数据迁移如何保障"业务中断 ...

  8. [转载]服务器和应用系统迁移方案

    服务器和应用系统迁移方案 一.迁移方案总体思路 新旧系统的迁移是一个整体系统工程.迁移必须保证用户系统建设的相关要求,在迁移过程中,我们需要重点考虑几个问题: 1.数据迁移如何保障"业务中断 ...

  9. 如何把pacs系统移到新服务器,PACS系统数据管理迁移解决方案(8页)-原创力文档...

    用心.精心.决心.匠心 PACS 系统 自动管 理系统 呕心沥血整理 word1 用心.精心.决心.匠心 目录 第 1 章 需求分析 3 1.1 应用系统现状分析 3 第 2 章 PACS系统数据迁移 ...

最新文章

  1. python使用imbalanced-learn的TomekLinks方法进行下采样处理数据不平衡问题
  2. form表单会跨域_前端跨域So Easy
  3. 《LeetCode力扣练习》第96题 不同的二叉搜索树 Java
  4. 【算法集中营】循环冗余校验
  5. 一道问题引出的python中可变数据类型与不可变数据类型
  6. 史上最详细Docker安装最新版Minio 带详解 绝对值得收藏!!! 让我们一起学会使用minio搭建属于自己的文件服务器!!走上白嫖之路!解决启动了但是浏览器访问不了的原因
  7. 程序员吐槽_男子吐槽:35岁被裁都是低端程序员,有能力只会是一个新台阶
  8. 今日arXiv精选 | 4篇EMNLP 2021最新论文
  9. 虚拟化关键技术及解决方案
  10. 都说.yml 比 .properties好用,你知道为什么嘛
  11. 如何轻松使用 C 语言实现一个栈?​
  12. IJCAI 2019 融合角色信息的多样性对话生成
  13. 怎么查看计算机jdk版本,在未配置环境变量的情况下查看jdk的版本
  14. 如何正确的获得一个view的宽和高
  15. 有道词典 PC端 手机端 单词 背 个数 不同步 解决
  16. 《全球科技通史》吴军老师-读书摘录
  17. 怎样彻底帮妹子解决weditor的安装的问题
  18. qq互联android sdk,qq互联.Android_SDK_V2.0使用说明.doc
  19. 战网服务器组件,架设自己的战网服务器
  20. 700页JVM虚拟机实战手册,呕心巨作,值得一看

热门文章

  1. 无法访问到github怎么办
  2. c语言拍飞虫课程设计报告,c语言课程设计_拍飞虫提高篇.doc
  3. 备考2022考研英语二小作文
  4. matlab/simulink 搭建 基于mpc的车道保持辅助系统
  5. 计算机组成原理节拍发生器实验报告,计算机组成原理微程序控制器组成实验课程实验报告书研讨.doc...
  6. 【Linux】一种局域网内通信方法
  7. NX二次开发 矩阵向量坐标 UFUN判断两个三维向量是否垂直 UF_VEC3_is_perpendicular
  8. 基于密钥的ssh远程登录
  9. C语言——用户自定义数据类型
  10. 分享社交平台功能开源_需要考虑的3个开源社交平台