![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
大数据学习
文章平均质量分 94
leo825...
越努力越幸运
展开
-
区块链(Blockchain)调查研究(一)
HASH 算法的目的是针对不同输入,产生一个唯一的固定长度的输出。HASH 算法有 3 个特点:一是不同的输入数据产生的输出数据必定不同;二是输入数据的微小变动会导致输出的较大不同;三是给定已知输出数据,无法还原出原始的输入数据。常用的 SHA-256 算法就是针对任意长的数据数列输出 256 位数据,实际使用中 SHA256 用于对区块链的每个区块数据进行 HASH 摘要后防止篡改, 同时结合 Merkle Tree 数据结构实现部分区块数据的 HASH 值验证。●。原创 2024-06-06 18:01:49 · 1827 阅读 · 2 评论 -
ClickHouse学习笔记(六):ClickHouse物化视图使用
用户使用物化视图时跟普通的表没有太大区别,其实它就是一张逻辑表,也像是一张时刻在预计算的表,创建的过程它是用了一个特殊引擎,加上后来 as select,就是 create 一个 table as select 的写法。使用create 创建一个物化视图,会创建一个隐藏的目标表来保存视图数据,也可以 TO 表名,保存到 一 张显式的表。:普通视图不保存数据,保存的仅是查询语句,查询的时候还是从原表读取数据,可以将普通视图理解为是个子查询。同上,但是 cm 配置数据主键是 ne_name。原创 2024-01-17 18:02:38 · 2940 阅读 · 0 评论 -
Flink学习笔记(五):Flink 四大基石之 State 和 Checkpoint
虽然数据流中的许多操作一次只查看一个单独的事件(例如事件分析器),但某些操作会记住跨多个事件的信息(例如窗口运算符)。这些操作称为有状态操作。当应用程序搜索某些事件模式时,状态需要存储截止当前时的事件序列;每分钟/每小时/每天聚合事件时,状态需要处理待处理的聚合;通过数据流训练机器学习模型时,状态保存模型参数的当前版本;当需要管理历史数据时,状态允许有效访问过去发生的事件。Flink 需要了解状态,以便使用 checkpoints 和 savepoints 使其容错。原创 2023-10-27 10:45:30 · 1825 阅读 · 0 评论 -
Flink学习笔记(四):Flink 四大基石之 Window 和 Time
窗口 Window流数据计算中一般对数据尽心操作之前都会先进行开窗,即基于一个什么样的窗口上做这个计算Flink 提供了开箱即用的各种窗口,比如滑动窗口、滚动窗口、会话窗口以及非常灵活的自定义窗口时间 TimeFlink 中窗口计算,基本都是基于时间窗口设置Flink 实现了 Watermark 的机制,能够支持基于事件时间的处理,能够容忍迟到、乱序的数据状态 StateFlink计算引擎,自身就是基于状态计算框架,默认情况下程序自己管理状态提供一致性的语义。原创 2023-10-23 10:46:45 · 2023 阅读 · 0 评论 -
Flink学习笔记(三):Flink四种执行图
在 JobGraph 的基础上结合各算子的并行度生成的就是 ExecutionGraph (ExecutionGraph与 JobGraph 最大的区别就是按照并行度将每个算子的任务拆分成了多个并行的子任务,并明确了任务间数据传输的方式。:代表由一个 Task 的生成的数据,和 ExecutionGraph 中的 IntermediateResultPartition 一一对应。:Execution 被调度后在分配的 TaskManager 中启动对应的 Task。用来表示程序的拓扑结构。原创 2023-10-19 12:01:44 · 2539 阅读 · 0 评论 -
Flink学习笔记(二):Flink内存模型
Flink JVM 进程的进程总内存(Total Process Memory)包含了由 Flink 应用使用的内存(Flink 总内存)以及由运行 Flink 的 JVM 使用的内存。Flink 总内存(Total Flink Memory)包括 JVM 堆内存(Heap Memory)和堆外内存(Off-Heap Memory)。如配置总内存中所述,另一种配置 JobManager 内存的方式是明确指定 JVM 堆内存的大小(jobmanager.memory.heap.size)。原创 2023-10-08 19:06:54 · 1849 阅读 · 0 评论 -
Flink学习笔记(一):Flink重要概念和原理
Apache Flink是一个框架和分布式处理引擎,用于对无限制和有限制的数据流进行有状态的计算。Flink被设计为可以在所有常见的集群环境中运行,以内存速度和任何规模执行计算。本示例以 1.12 版本进行介绍,当前版本更新至 1.17。Apache Flink是一个面向数据流处理和批量数据处理的可分布式的开源计算框架,它基于同一个Flink流式执行模型(streaming execution model),能够支持流处理和批处理两种应用类型。原创 2023-10-07 18:12:24 · 1951 阅读 · 0 评论 -
PostgreSQL学习笔记(一):数据库、模式、表空间、用户、用户角色
当需要对一组数据库表(或函数等)的并发数进行单独控制时,需要对这些表(或函数等)放入一个新建的 database 中,PostgreSQL 对最大并发访问会话进行单独控制的最小单元是 database。其中的层级关系是:数据库-模式-对象。需要注意的是,虽然能创建多个数据库实例,但不能同时访问不同数据库中的对象,当需要访问另一个数据库中的表或其他对象时,需要重新连接到这个数据库,而模式却没有此限制,一个用户在连接到一个数据库后,就可以同时访问这个数据库中多个模式的对象。不同的数据库表空间有不同的定义。原创 2023-06-26 14:52:16 · 3075 阅读 · 0 评论 -
数据仓库建设指导说明
元数据可以包括以下内容:数据定义描述数据的结构、格式、模式和约束条件。例如,数据表、字段、数据类型、主键、外键等。数据源和来源:记录数据的来源和数据源的信息,包括数据提供方、数据采集方式、数据传输协议等。数据质量指标:定义和记录数据质量指标和标准,例如数据准确性、完整性、一致性、时效性等。数据变动历史:记录数据的变动历史,包括数据的创建时间、修改时间、版本号等信息。数据访问权限:记录数据的访问权限和安全设置,包括数据的可访问范围、用户权限、角色权限等。原创 2023-06-25 16:18:23 · 1380 阅读 · 0 评论 -
Spark学习笔记(一):Spark 基本原理
DAG Scheduler 是面向stage的高层级的调度器,DAG Scheduler 把 DAG 拆分为多个 Task,每组 Task 都是一个 Stage,解析时是以 shuffle 为边界进行反向构建的,每当遇见一个 shuffle,Spark 就会产生一个新的 Stage,接着以 TaskSet 的形式提交给底层的调度器(Task Scheduler),每个 Stage 封装成一个 TaskSet。很多复杂的 SQL 语句,在 Hive 中执行都需要一个小时以上的时间。原创 2023-06-13 17:10:14 · 1062 阅读 · 0 评论 -
ClickHouse学习笔记(五):ClickHouse 副本与分片
第一种:从数据层面区分,假设 ClickHouse 的 N 个节点组成了一个集群,在集群的各个节点上,都有一张结构相同的数据 Y。如果 N1 的 Y 和 N2 的 Y 中的数据完全不同,则 N1 和 N2 互为分片;如果他们的数据完全相同,则他们互为副本。分片之间的数据是不同的,副本之间的数据是完全相同的。第二种:从功能作用层面区分,使用副本的主要目的是防止数据丢失,增加数据存储的冗余;而使用分片的主要目的是实现数据的水平切分。原创 2023-05-04 17:47:39 · 1920 阅读 · 1 评论 -
ClickHouse学习笔记(四):MergeTree 系列表引擎
MergeTree系列表引擎介绍原创 2023-03-29 17:54:41 · 1310 阅读 · 0 评论 -
ClickHouse学习笔记(三):MergeTree 原理解析
ClickHouse 有很多表引擎,而在众多的表引擎中,又属合并树(MergeTree)表引擎及其家族系列(*MergeTreee)最为强大,在生产环境的绝大部分场景中,都会使用此系列的表引擎。(1)生成分区目录,写入第一批数据;(2)相同分区的目录依照规则合并到一起;(3)按照 index_granularity 索引粒度生成 primary.idx 一级索引、二级索引、每一列的 .mrk 数据标记、.bin压缩文件。原创 2023-03-28 11:41:17 · 1690 阅读 · 1 评论 -
ClickHouse学习笔记(二):ClickHouse常见表引擎简介
摘要:简单介绍了一下 ClickHouse 的常见表引擎原创 2023-03-27 13:43:21 · 1878 阅读 · 0 评论 -
Mysql:sql去重的几种方式(大数据hive也可参考)
我们做数据分析的时候经常会遇到去重问题,下面总结 sql 去重的几种方式,后续如果还有再补充,大数据分析层面包括也可参考。原创 2022-11-30 16:50:36 · 3461 阅读 · 5 评论 -
HDFS学习笔记(五):Yarn架构原理
调度器仅根据各个应用程序的资源需求进行资源分配,而资源分配单位用一个抽象概念“资源容器”(Resouce Container,简称 Container)标识,Container 是一个动态资源分配单位,它将内存、CPU、磁盘、网络等资源封装在一起,从而限定每个任务使用的资源量。Container 是 Yarn 中的资源抽象,它封装了某个 节点上的多维度资源,如内存、CPU、磁盘、网络等,当 AM 向 RM 申请资源时,RM 为 AM 返回的资源便是用 Container 表示的。原创 2022-09-08 13:32:05 · 1379 阅读 · 0 评论 -
HDFS学习笔记(四):MapReduce原理
MapReduce 是面向大数据并行处理的计算模型、框架和平台。1)MapReduce 是一个基于集群的高性能并行计算平台(Cluster Infrastructure)。使用它来编写的数据处理应用可以运行在大型的商用硬件集群上来处理大型数据集中的可并行化问题,数据处理可以发生在存储在文件系统(非结构化)或数据库(结构化)中的数据上。MapReduce 可以利用数据的位置,在存储的位置附近处理数据,以最大限度地减少通信开销。......原创 2022-08-31 16:59:02 · 1400 阅读 · 0 评论 -
HDFS学习笔记(三):HDFS 分布式文件系统原理
HDFS 全称是 Hadoop Distribute File System,翻译过来就是 Hadoop 分布式文件系统原创 2022-07-27 17:58:57 · 1529 阅读 · 0 评论 -
HDFS学习笔记(二):HDFS 常用操作命令大全(Hadoop版本3.3.1)
hdfs 常见命令汇总原创 2022-07-22 18:05:18 · 2981 阅读 · 0 评论 -
HBase学习笔记(五)——HBase为什么会发生RegionTooBusyException?
刚开始用 HBase 的时候如果数据量比较大,经常会遇到下面这个异常:org.apache.hadoop.hbase.RegionTooBusyException: over memstore limit = 512.0m原因定位 HBase 进行 put 操作的时候会进行 resource 检查,当 Region 中所有 MemStore 的大小总和达到了上限,默认 4* 128M = 512M,会阻塞该 Region 所有请求并触发 memstore 刷写。 当一个 Region 里原创 2022-06-20 17:43:53 · 2157 阅读 · 1 评论 -
HBase学习笔记(四)——HBase的flush、compact机制
在HBase中数据被写入 WAL 和 MemStore 后就可以说数据已经被成功写入到 Hbase 了。MemStore 中的数据达到一定的阈值,会被 Flush 成 HDFS 中的 HFile 文件。但是随着 Flush 次数的不断增多,HFile 的文件数量也会不断增多。从多个 HFile 文件中读取记录,将导致更多的 IOPS,这会使得读取时延不断增大。 Compaction 可以将一些 HFile 文件合并成为较大的 HFile 文件,也可以把所有的 HFile 文件合并成为一个大的 HFi原创 2022-06-20 13:15:42 · 1947 阅读 · 0 评论 -
HBase学习笔记(三)——布隆过滤器(Bloom Filter)的原理
布隆过滤器(Bloom Filter)由 Burton Howard Bloom 在 1970 年提出,是一种空间效率高的概率型数据结构。它专门用来检测集合中是否存在特定的元素。布隆过滤器带有以下特点:布隆过滤器(Bloom Filter)的核心是实现一个超大的位数组和几个哈希函数。 假设位数组的长度为m,哈希函数的个数为k,以上图为例。具体操作流程如下:布隆过滤器添加元素布隆过滤器查询元素优点缺点 所以,Bloom Filter 在对查准度要求没有那么苛刻,而对时间、空间效率要求较高的场原创 2022-06-17 17:43:44 · 818 阅读 · 0 评论 -
HBase学习笔记(一)——HBase工作原理
类似 MySQL 或者 Oracle 关系型数据库,当用户表的数据达到几千万甚至几亿级别的时候,对单挑数据的检索将花费数秒甚至达到分钟级别。目前在海量数据下进行快速开发,并进行高效运行的需求越来越多,传统的关系型数据库似乎达到了瓶颈,怎么办? 有的专家尝试将关系型数据库做成分布式数据库,把压力分摊到多个服务器上,但是,随之而来的问题则是很难保证原子性。原子性可是数据库最根本的 ACID 中的元素,如果没有了原子性,数据库就不可靠了。如果增加一些必要的操作,那么原子性是保证了,但是性能却大幅下降。专家们原创 2022-06-17 14:15:07 · 1446 阅读 · 0 评论 -
HBase学习笔记(二)——LSM树(Log-Structured Merge-Tree)是什么?
LSM 树,即日志结构合并树(Log-Structured Merge-Tree)是Google BigTable 和 HBase 的基本存储算法,它是传统关系型数据库的 B+ 数的改进。算法的关注重心是 “如何在频繁的数据改动下保持系统读取速度的稳定性”,算法的核心在于尽量保证数据是顺序存储到磁盘上的,并且会有频繁地对数据进行整理,保证其顺序性。而顺序性就可以最大程度保证数据的读取性能稳定。 LSM树核心就是放弃部分读能力,换取写入的最大化能力。LSM 树会将所有的数据插入、修改、删除等操作保存在内原创 2022-06-15 17:52:55 · 2690 阅读 · 2 评论 -
Hive学习笔记(一):Hive分区修改
文章目录什么是Hive的分区分区意义分区技术分区方法和本质创建一级分区表创建二级分区表如何修改Hive的分区查看分区添加分区分区名称修改修改分区路径删除分区分区类别hive的严格模式笛卡尔积分区表没有分区字段过滤order by不带limit查询bigint和string比较bigint和double比较hive读写模式:什么是Hive的分区分区意义hive分区的意义是避免全表扫描,从而提高查询效率。默认使用全表扫描。分区技术[PARTITIONED BY (COLUMNNAME COLUMNTY原创 2020-12-28 14:41:47 · 8073 阅读 · 2 评论 -
HDFS学习笔记(一):Hadoop的基本概念和简单使用
1、概念1.1、Hadoop 1.0和Hadoop 2.01.2、MapReduce和HDFS1.3、NameNode和DataNode1.4、JobTracker和TaskTracker1.5、Yarn、ResourceManager和NodeManager2、Hadoop的简单使用2.1原创 2020-08-19 17:35:06 · 1186 阅读 · 0 评论