概述 如果表没有定义主键,则默认情况下它是仅追加表类型(AppendOnlyTable)。根据桶(Bucket)的定义,我们有两种不同的仅追加模式:"AppendForScalableTable"和"AppendForQueue";两种模式支持不同的场景,提供不同的功能。只能向表中插入一条完整的记录。不支持删除或更新,并且不能定义主键。此类表适合不需要更新的用例(例如日志数据同步)。 Append场景特指"无主键"的场景,比如日志数据的记录,不具有直接Upsert更新的能力。 AppendForScalableTable 其支持的功能如下: 支持批读批写INSERTOVERWRITE 支...

  zhNCThJtfE8g   2023年12月25日   12   0   0 大数据

WhatisState 虽然数据流中的许多操作一次只查看一个单独的事件(例如事件解析器),但某些操作会记住多个事件的信息(例如窗口算子)。这些操作称为有状态的(stateful)。 有状态操作的一些示例: 当应用程序搜索某些事件模式(eventpatterns)时,状态(state)将存储迄今为止遇到的事件序列。 当每分钟/小时/天聚合事件时,状态(state)保存待处理的聚合。 当通过流中的数据点训练机器学习模型时,状态(state)保存模型参数的当前版本。 当需要管理历史数据时,状态(state)允许有效访问过去发生的事件。 Flink需要了解状态(state),以便使用检查点(che...

  zhNCThJtfE8g   2023年12月22日   66   0   0 大数据

Flink是一个分布式系统,需要有效地分配和管理计算资源才能执行流应用程序。它集成了所有常见的集群资源管理器,如HadoopYARN和Kubernetes,但也可以设置为作为一个独立的集群运行,甚至作为一个库。 Flink集群的剖析 Flink运行时由两种类型的进程组成:一个JobManager和一个或多个taskmanager。 Client(客户端)不是运行时和程序执行的一部分,而是用于准备和发送数据流到JobManager。之后,客户端可以断开连接(分离模式),或者保持连接以接收进度报告(附加模式)。Client(客户端)要么作为触发执行的Java/Scala程序的一部分运行,要么在命...

  zhNCThJtfE8g   2023年12月22日   15   0   0 大数据

优化算法主要用于调整神经网络中的超参数,使得训练数据集上的损失函数尽可能小。其核心逻辑是通过计算损失函数对参数的梯度(导数)来确定参数更新方向。 SGD StochasticGradientDescent(随机梯度下降法):随机梯度下降算法是一种改进的梯度下降方法,它在每次更新参数时,只随机选择一个样本来计算梯度。这样可以大大减少计算量,提高训练速度。随机梯度下降算法在训练大规模数据集时非常有效。其Python实现是 classSGD: """随机梯度下降法(StochasticGradientDescent)""" def__init__(self,lr=0.01): self.lr=lr ...

  zhNCThJtfE8g   2023年12月18日   20   0   0 AI综合

概述 大模型有两个流程:预训练和推理。 预训练是在某种神经网络模型架构上,导入大规模语料数据,通过一系列的神经网络隐藏层的矩阵计算、微分计算等,输出权重,学习率,模型参数等超参数信息。 推理是在预训练的成果上,应用超参数文件,基于预训练结果,根据用户的输入信息,推理预测其行为。 GLM模型原理的理解,就是预训练流程的梳理,如下流程所示:input输入层会预处理输入数据,在预训练过程中,该输入数据,其实就是预先准备好的预料数据集,也就是常说的6B,130B大小的数据集。 掩码处理 GLM统一了自编码模型与自回归模型,主要是在该处理过程实现的。该过程也被成为自回归空格填充。该过程体现了自编码与...

  zhNCThJtfE8g   2023年12月16日   11   0   0 AI综合

概述 GLM、ChatGLM的相关基础知识说明: GLM模型底层还是基于Transformer,因此其设计、优化都是围绕Transformer的各个组件的。从注意力层的掩码、位置编码等方面优化与设计。 ChatGLM3/ChatGLM2的源码中,比如finetune、trainer等代码,其实是copy自HuggingFace,而且其使用流程与调用机制,与HuggingFace的开发流程是一致的。 对GLM-130B,ChatGLM千亿模型,ChatGLM-6B的区分不够清楚,这里给出说明: GLM-130B:于2022年8月由清华智谱AI开源放出。该大语言模型基于之前提出的GLM(Gen...

  zhNCThJtfE8g   2023年12月14日   16   0   0 大模型

大数据框架下,常用的数据更新策略有三种: COW:copy-on-write,写时复制; MOR:merge-on-read,读时合并; MOW:merge-on-write,写时合并; hudi等数据湖仓框架,常用的是前两种实现数据更新。而Doris则主要用后两种更新数据。 COW 在数据写入的时候,复制一份原来的拷贝,在其基础上添加新数据,创建数据文件的新版本。新版本文件包括旧版本文件的记录以及来自传入批次的记录(全量最新)。 正在读数据的请求,读取的是最近的完整副本,这类似Mysql的MVCC的思想。 在java的类库中就有一个CopyOnWriteArrayList,而linux的fo...

  zhNCThJtfE8g   2023年12月06日   14   0   0 大数据

神经网络模型流程 神经网络模型的搭建流程,整理下自己的思路,这个过程不会细分出来,而是主流程。 在这里我主要是把整个流程分为两个主流程,即预训练与推理。预训练过程主要是生成超参数文件与搭设神经网络结构;而推理过程就是在应用超参数与神经网络。 卷积神经网络的实现 在聊聊卷积神经网络CNN中,将卷积神经的理论概述了一下,现在要大概的实践了。整个代码不基于pytorch/tensorflow这类大框架,而是基于numpy库原生来实现算法。pytorch/tensorflow中的算子/函数只是由别人已实现了,我们调用而已;而基于numpy要自己实现一遍,虽然并不很严谨,但用于学习足以。 源代码是来...

  zhNCThJtfE8g   2023年12月05日   19   0   0 AI综合

概述 预训练过程就是在不断地更新权重超参数与偏置超参数,最后选择合适的超参数,生成超参数文件。上一篇博客是使用已有的预训练超参数文件,要训练自己的超参数,需要对神经网络层中前向传播与反向传播计算熟悉,了解计算逻辑,才能不断地更新选择合适的超参数。 神经网络计算详解 整个神经网络的层数是4层,从顺序来分别是:输入层,两层隐藏层,输出层。隐藏层的激活函数选择sigmoid函数;输出层用softmax函数归一化处理。神经网络的各层参数和激活函数符号化如下: 输入层:(x) 第一个隐藏层:() 第二个隐藏层:() 输出层:(y) 权重参数:() 偏置参数:() 激活函数:()(例如,Sigmoid、...

  zhNCThJtfE8g   2023年12月03日   20   0   0 AI综合

概述 在上一篇博客中,已经阐述了预训练过程中,神经网络中超参数的计算逻辑,本文,从程序实现的角度,将数学计算转换为程序代码,最终生成超参数文件;并将替换聊聊神经网络模型示例程序——数字的推理预测中已训练好的超参数文件,推理预测数字,最终比对下两者的精确度。 神经网络层实现 首先,根据神经网络各个层的计算逻辑用程序实现相关的计算,主要是:前向传播计算、反向传播计算、损失计算、精确度计算等,并提供保存超参数到文件中。 coding:utf-8 importsys,os sys.path.append(os.pardir)为了导入父目录的文件而进行的设定 fromDeepLearn_Base.com...

  zhNCThJtfE8g   2023年12月03日   13   0   0 AI综合

之前学习了解过了神经网络、CNN、RNN、Transformer的内容,但除了在魔塔上玩过demo,也没有比较深入的从示例去梳理走一遍神经网络的运行流程。从数字推测这个常用的示例走一遍主流程。 MNIST数据集 MNIST是机器学习领域最有名的数据集之一,被应用于从简单的实验到发表的论文研究等各种场合。实际上,在阅读图像识别或机器学习的论文时,MNIST数据集经常作为实验用的数据出现。 MNIST数据集是由0到9的数字图像构成的。训练图像有6万张,测试图像有1万张,这些图像可以用于学习和推理。MNIST数据集的一般使用方法是,先用训练图像进行学习,再用学习到的模型度量能在多大程度上对测试图像进...

  zhNCThJtfE8g   2023年12月01日   19   0   0 AI综合

卷积神经网络(ConvolutionalNeuralNetwork,CNN)是一种被广泛应用于图像识别、语音识别和自然语言处理等领域的深度学习模型。与RNN、Transformer模型组成AI的三大基石。 在卷积神经网络中,相比较普通的神经网络,增加了卷积层(Convolution)和池化层(Pooling)。其结构一般将会是如下: CNN的层连接顺序是"ConvolutionReLU(Pooling)"(Pooling层有时候可以省略)。 图中的Affine层,也被称为全连接层(Dense层)或仿射层,作用是将输入数据(input)与权重矩阵(W)相乘,然后添加偏置(B),从而进行线性变...

  zhNCThJtfE8g   2023年11月30日   104   0   0 AI综合

LSM-Tree Doris的存储结构是类似LSM-Tree设计的,因此很多方面都是通用的,先阅读了解LSM相关的知识,再看Doris的底层存储与读取流程会清晰透彻很多,如下是几个关键的设计: SSTable:SortedStringsTable;一般由一组数据block和一组元数据block组成,数据是已序的。元数据会存储数据block的描述信息,如索引、BloomFilter、压缩、统计等信息。 MemTable:内存里的表,有序且存储在Buffer中;可以用多种数据结构来组织,一般是用跳表(SkipList),也可以是有序数组或红黑树等二叉搜索树;最后会被转化成SSTable格式刷入磁盘...

  zhNCThJtfE8g   2023年11月30日   14   0   0 大数据

稀疏索引 密集索引:文件中的每个搜索码值都对应一个索引值,就是叶子节点保存了整行. 稀疏索引:文件只为索引码的某些值建立索引项. 稀疏索引的创建过程包括将集合中的元素分段,并给每个分段中的最小元素创建索引。在搜索时,先定位到第一个大于搜索值的索引的前一个索引,然后从该索引所在的分段中从前向后顺序遍历,直到找到该搜索值的元素或第一个大于该搜索值的元素。 Doris中的前缀索引、BloomFilter属于稀疏索引. 以mysql为例,主键索引是稠密索引;非主键索引(非聚簇索引)是稀疏索引.如下是mysql的B+树索引结构图. 主键索引,注意叶子节点的主键值时有序的. 非主键索引 联合索引 ...

  zhNCThJtfE8g   2023年11月30日   9   0   0 大数据

优化器的作用是优化查询语句的执行效率,它通过评估不同的执行计划并选择最优的执行计划来实现这一目标。 CBO:一种基于成本的优化器,它通过评估不同查询执行计划的成本来选择最优的执行计划。CBO会根据数据库系统定义的统计信息以及其他因素,对不同的执行计划进行评估,并选择成本最低的执行计划。CBO的目标是找到一个最优的执行计划,使得查询的执行成本最低。 RBO:一种基于规则的优化器,它通过应用一系列的优化规则来选择最优的执行计划。RBO会根据预定义的规则对查询进行优化,这些规则基于数据库系统的特定逻辑和语义。RBO的优点是实现简单,适用于特定的查询模式和数据分布。然而,RBO可能无法找到最优的执行计...

  zhNCThJtfE8g   2023年11月30日   12   0   0 大数据

阅读DorisSQL原理解析,总结下Doris中SQL解析流程: 词法识别:解析原始SQL文本,拆分token 语法识别:将token转换成AST 单机逻辑查询计划:将AST经过一系列的优化(比如,谓词下推等)成查询计划,提高执行性能与效率。 分布式逻辑查询计划:根据分布式环境(数据分布信息、连接信息、Join算法等)将单机逻辑查询计划转换成分布式逻辑查询计划。 分布式物理查询计划:在逻辑查询计划的基础上,根据数据的存储方式和机器的分布情况生成实际的执行计划。 逻辑查询与物理查询的区别如下 逻辑查询计划(LogicalQueryPlan):○关注逻辑操作:逻辑查询计划描述了查询的逻辑操...

  zhNCThJtfE8g   2023年11月28日   25   0   0 大数据

负载均衡 此处的负载均衡指的是FE层的负载均衡. 当部署多个FE节点时,用户可以在多个FE之上部署负载均衡层来实现Doris的高可用。官方文档描述:负载均衡。 实现方式 实现方式有多种,如下列举。 开发者在应用层自己进行重试与负载均衡。 JDBCConnector 发现一个连接挂掉,就自动在其他连接上进行重试。应用层代码重试需要应用自己配置多个doris前端节点地址。 通过JDBCConnector实现自动重试与均衡负载: jdbc:mysql:loadbalance://[host:port],[host:port].../[database][?propertyName1][=proper...

  zhNCThJtfE8g   2023年11月28日   18   0   0 大数据

在Doris的存储引擎规则: 表的数据是以分区为单位存储的,不指定分区创建时,默认就一个分区. 用户数据首先被划分成若干个分区(Partition),划分的规则通常是按照用户指定的分区列进行范围划分,比如按时间划分。 在每个分区内,数据被进一步的按照Hash的方式分桶,分桶的规则是要找用户指定的分桶列的值进行Hash后分桶。每个分桶就是一个数据分片(Tablet),也是数据划分的最小逻辑单元。 Partition可以视为是逻辑上最小的管理单元。数据的导入与删除,都可以或仅能针对一个Partition进行。 Tablet直接的数据是没有交集的,独立存储的。Tablet也是数据移动、复制等操作的...

  zhNCThJtfE8g   2023年11月22日   20   0   0 大数据

Doris中,Leader节点与非Leader节点和Observer节点之间的元数据高可用和一致性,是通过bdbje(全称:OracleBerkeleyDBJavaEdition)的一致性和高可用实现的。 元数据与同步流程 元数据主要存储四类数据: 用户数据信息.包括数据库,表的schema,分片信息等 各类作业信息.如导入作业,clone作业,schemaChange作业等。 用户及权限信息. 集群及节点信息. 元数据同步图: 元数据流转如下: leader写入元数据写操作在修改leader的内存后,序列化为log,按照key-value格式写入到bdbje.其中key为连续的整型数...

  zhNCThJtfE8g   2023年11月22日   20   0   0 NoSQL

MPP MPP:MassivelyParallelProcessing,即大规模并行处理. 一般用来指多个SQL数据库节点搭建的数据仓库系统.执行查询的时候,查询可以分散到多个SQL数据库节点上执行,然后汇总返回给用户. Doris Doris作为一款开源的MPP架构OLAP高性能、实时的分析型数据库,能够运行在绝大多数主流的商用服务器上。 使用场景 如下图所示,数据源经过各种数据集成和加工处理后,通常会入库到实时数仓Doris和离线湖仓(Hive,Iceberg,Hudi中),ApacheDoris被广泛应用在以下场景中。 报表分析 实时看板(Dashboards) 面向企业内部分析师...

  zhNCThJtfE8g   2023年11月21日   12   0   0 NoSQL
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~