随笔分类 - bigdata
摘要:当我们谈论批流一体,我们在谈论什么? 一、流计算与批计算 一)流计算与批计算 流计算:无限数据之上的计算 批计算:有限数据之上的计算 二)流计算与批计算的比较 特性 批计算 流计算 数据范围 有界数据 无界数据 任务执行 分批执行、有终止 全部执行、无终止 延时 小时级、天级 秒级、分钟级 数据场景
阅读全文
摘要:1.创建namespace kubectl create namespace flink-session-cluster-test 2.创建账号 kubectl create serviceaccount flink-test -n flink-session-cluster-test 3.创建角色
阅读全文
摘要:在这篇文章中,我想比较ClickHouse,Druid和Pinot,这三个开源数据存储区,他们通过交互延迟对大量数据运行分析查询。 警告:这篇文章很大,您可能只想阅读最后的“摘要”部分。 信息来源 我从核心开发人员之一Alexey Zatelepin那里了解了ClickHouse的实现细节。用英语提
阅读全文
摘要:数据查询 Druid的聚合查询主要有三种形式: Timeseries TopN GroupBy 一般而言,OLAP系统最核心的能力是GroupBy查询,Druid也不例外。 但是GroupBy查询资源消耗较多,TopN和Timeseries作为GroupBy的有益补充,能够改善查询的性能。我们建议:
阅读全文
摘要:实时数据摄入 我们采用Kafka Indexing Service作为实时摄入数据的方案。 准备工作 将数据实时灌入某个Kafka topic中 与批量导入数据类似:考虑清楚数据中哪一列可以作为时间列、哪些列可以作为维度列、哪些列可以作为指标列(尤其是指标的聚合函数,包括count、sum、max、
阅读全文
摘要:批量数据摄入 准备工作 确保druid帐号可以访问到位于HDFS之上的原始数据 考虑清楚数据中哪一列可以作为时间列、哪些列可以作为维度列、哪些列可以作为指标列(尤其是指标的聚合函数,包括count、sum、max、min等,如果涉及UV、留存的计算,则需要使用HyperUnique或者Theta s
阅读全文
摘要:Druid是分布式的OLAP平台,支持实时和批量两种数据灌入模式,在亿级数据规模上能够提供秒级的查询响应。如下图所示,用户可以对指定维度的条件进行过滤(包括等于、模糊匹配等,这部分内容后面会详细解释),也可以按照指定的维度进行聚合。 基本概念 在我们讨论之前,先让我们看看一个数据集的例子 (来源于线
阅读全文
摘要:大数据之数据收集 数据收集是大数据的基础。散落在各处的数据,只有经过了数据收集,才会集中起来,提供了后续处理的可能。从大数据技术发展以来,出现了很多数据收集的技术框架,本文试图在若干流行的数据收集解决方案上加以叙述。 评估一个技术框架是否适合某个业务场景,通常需要考虑多个方面。 l 最基本的,考虑接
阅读全文
摘要:虽然大家都在玩大数据,但是大部分人还是在第1和2阶段,部分公司可能到了第3阶段,因为其中涉及的专业知识太多,运维工程师,开发工程师,数据工程师,云工程师等等不一而足。 阶段1 技术试验阶段 在此阶段,你的团队可能会安装一个Hadoop集群和Hive(可能带有Sqoop),以便将一些数据传输到集群并运
阅读全文
摘要:在进行分布式开发的过程中,不可避免的会遇到程序异常结束,一般而言,结束的同时分布式框架会返回一个返回码,有时候通过返回码就可以大致知道是因为什么原因程序异常退出了。 由于分布式系统一般运行在linux上,所以有些分布式框架的返回码的设计就与linux本身的signal有关。 相关分布式框架返回码更具
阅读全文
摘要:一般而言,如果做监控系统,基本离不开时序数据库,对于时间属性的天然支持以及众多的前端展现,使得使用时序数据库存储各种metric信息非常方便。 下图是在db-engines上时序数据库的排名,可见inluxdb的热度。 重要概念 influxdb里面有一些重要概念:database,timestam
阅读全文
摘要:一图道尽心酸: 大的原理,上游的task产生数据后,会写在本地的缓存中,然后通知JM自己的数据已经好了,JM通知下游的Task去拉取数据,下游的Task然后去上游的Task拉取数据,形成链条。 但是在何时通知JM?这里有一个设置,比如pipeline还是blocking,pipeline意味着上游哪
阅读全文
摘要:Apache Calcite是什么东东 Apache Calcite面向Hadoop新的sql引擎,它提供了标准的SQL语言、多种查询优化和连接各种数据源的能力。除此之外,Calcite还提供了OLAP和流处理的查询引擎。它2013年成为了Apache孵化项目以来,在Hadoop中越来越引人注目,并
阅读全文
摘要:在flink的数据传输过程中,有两类数据,一类数据是控制流数据,比如提交作业,比如连接jm,另一类数据是业务数据。flink对此采用了不同的传输机制,控制流数据的传输采用akka进行,业务类数据传输在自己实现了序列化框架的前提下使用netty进行。之所以采用akka进行控制流数据的传送,是因为akk
阅读全文
摘要:最近 用户提交了一个问题 说他的jar包里明明包含相关的类型 但是在提交Flink作业的时候 却报出classnotfound的错误 查看之后发现 这里是flink的一个没有说的太明白的地方 用户的代码之所以报错 是因为在代码中引用了mapreduce相关的东西 我们知道 flink会在生成jobG
阅读全文
摘要:目前采用的Flink的版本是1.4.2,运行在yarn上,总是时不时的报错“Invalid AMRMToken from appattempt”,导致AM挂掉。 简而言之,就是AM和RM沟通的过程中,突然AM提供的Token不被认可,导致拒绝连接,进而AM挂掉。 后来发现早期版本的yarn-clie
阅读全文
摘要:LevelDb的基本结构如下: 由六大部分组成: 一、MemTable,用户写入和读取的直接对象, 二、Immutable MemTable,用户状态写入的对象写满的MemTable之后会转为ImmutableMemTable,之后会写sst文件, 三、LOG文件,是WAL机制的部分,用户在写入Me
阅读全文
摘要:streamTask的invoke方法中,会循环去调用task上的每个operator的initializeState方法,在这个方法中,会真正创建除了savepointStream的其他三个对象, 而savepointStream会lazy到做savepoint的时候才创建对象,这个也可以理解,毕
阅读全文
摘要:给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url? 方案1:可以估计每个文件安的大小为5G×64=320G,远远大于内存限制的4G。所以不可能将其完全加载到内存中处理。考虑采取分而治之的方法。 遍历文件a,对每个url求取hash(ur
阅读全文