基础

HBase 是一个在 HDFS 上开发的面向列分布式数据库,如果你需要实时访问超大规模的数据集,那么使用 HBase 就对了。

HBase 自底而上地进行构建,可以简单的通过增加节点来线性扩展。其并不是关系型数据库,并且也不支持 SQL,在特定的空间里,能够做 RDBMS 不能做的事,即在廉价的硬件构成的集群上管理超大规模的稀疏表。

Read more »

今天是 2023515 日,距离我第一次来北京工作的时间刚好跨过了整整三年,关于这个时间我也是在跟朋友的闲聊中才发现原来我已经来北京北漂三年了。

Read more »

配置列表

CPUIntel i5-12400 散片
主板:微星 MAG B660 MORTAR WIFI DDR4
内存:光威 天策系列 16G * 2 套条
固态:宏基掠夺者 GM7000 PCIe4.0 NVMe
电源:长城 650w 金牌全模
散热:九州风神 玄冰 400V5(四热管)
机箱:先马 平头哥 M2(五风扇位,侧头玻璃)
系统:Windows 10 专业版

Read more »

基础

Hive 是一个构建在 Hadoop 之上的数据仓库框架,其设计目的在于让精通 SQL 但编程技能较弱的运营人员能够对存放在 HDFS 中的大规模数据集执行查询。
但是由于其底层依赖的 HadoopHDFS 设计本身约束和局限性,限制 Hive 不支持记录级别的更新、插入或者删除操作,不过可以通过查询生成新表或将查询结果导入文件中来实现。同时由于 MapReduce 任务的启动过程需要消耗较长的时间,所以查询延时比较严重。

Read more »

复现

在之前的博客中说明过,我负责的业务有数据同步的需求,是从 MySQL 实时同步数据到 ClickHouse,为此我们使用了一个工具 clickhouse-mysql-data-reader,该工具的底层是通过监听 MySQLbin log 来实现实时同步数据。

就在今早,数据同步不知为何停止了,当发现问题重新拉起同步任务时,就发现同步脚本出现了异常:

1
Could not find first log file name in binary log index file
Read more »

引入

Spark 是用于处理大数据的集群计算框架 ,与其他大多数数据处理框架不同之处在于 Spark 没有以 MapReduce 作为执行引擎,而是使用它自己的分布式运行环境在集群上执行工作。另外 SparkHadoop 又紧密集成,Spark 可以在 YARN 上运行,并支持 Hadoop 文件格式及其存储后端(例如 HDFS)。

Spark 最突出的表现在于其能将 作业与作业之间的大规模的工作数据集存储在内存中。这种能力使得在性能上远超 MapReduce 好几个数量级,原因就在于 MapReduce 数据都是从磁盘上加载。根据 Spark 的处理模型有两类应用获益最大,分别是 迭代算法(即对一个数据集重复应用某个函数,直至满足退出条件)交互式分析(用户向数据集发出一系列专用的探索性查询)
另外 Spark 还因为其具有的 DAG 引擎更具吸引力,原因在于 DAG 引擎可以处理任意操作流水线,并为用户将其转化为单个任务。

Read more »

复现

工作时需要拉一下测试环境的数据到开发环境,所以就是 mysqldump 老哥出场了…

1
2
3
# mysqldump -h localhost -u root -p --tables test_table --where="str='str1'" > test_table_data.sql
Enter password:
Warning: A partial dump from a server that has GTIDs will by default include the GTIDs of all transactions, even those that changed suppressed parts of the database. If you don't want to restore GTIDs, pass --set-gtid-purged=OFF. To make a complete dump, pass --all-databases --triggers --routines --events.
Read more »

基础

MapReduce 是一种用于数据处理的编程模型,其本质是并行运行,因此可以将大规模的数据分析任务分发给任何一个拥有足够多机器的数据中心,当然其优势也是处理大规模数据集

MapReduce 任务过程分为两个处理阶段: map 阶段reduce 阶段。每个阶段都是以键值对作为输入和输出,其类型由开发者决定,当然 map 函数和 reduce 函数也是由开发者实现。

Read more »

HDFS

当数据集的大小超过一台计算机的存储上限时,就有必要对数据进行分区然后存储到其他的计算机上。管理网络中跨多台计算机存储的文件系统被称为分布式文件系统(distributed filesystem,该架构于网络之上,势必会引起网络编程的复杂性,因此分布式文件系统比普通磁盘文件系统更为复杂。
Hadoop 自带一个称为 HDFS 的分布式文件系统,也是 Hadoop 的旗舰级文件系统,即 Hadoop Distributed Filesystem

Read more »