大数据技术栈
文章平均质量分 94
大数据技术栈
CH_ENN
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Spark 3.0.3 源码阅读及 idea 调试环境搭建
1, 源码下载:Downloads | Apache Spark2, 源码解压并编译:编译前建议在环境变量中添加以下参数export MAVEN_OPTS="-Xmx2g -XX:ReservedCodeCacheSize=1g"tar -zxvf spark-3.0.3.tgzcd spark-3.0.3mvn -Pyarn -Phive -Phive-thriftserver -Dhadoop.version=3.3.0 -DskipTests cle..原创 2022-04-12 14:04:27 · 3208 阅读 · 0 评论 -
Flink ① <概述>特点,应用场景,组成,处理模型,选型 <快速应用> Java及Scala版WCount <体系结构>角色,架构 <安装部署>StandAlone 模式
目录第一部分 Flink 概述第 1 节 什么是 Flink第 2 节 Flink 特点第 3 节 Flink 应用场景3.1 事务型处理3.2 分析型处理第 4 节 Flink 核心组成及生态发展4.1 Flink核心组成4.2 Flink生态发展第 5 节 Flink 处理模型:流处理与批处理第 6 节 流处理引擎的技术选型第二部分 Flink快速应用第 1 节 单词统计案例(批数据)1.1 需求1.2 代码实现第 2 节 单词统计案例(流原创 2021-11-23 16:17:17 · 1912 阅读 · 0 评论 -
ELK ② 索引, 创建, 查看, 删除, 分词器安装及使用, 映射, 创建, 查看, 修改,文档,增删改查及局部更新
3 管理索引第1节 索引操作(创建、查看、删除)1. 创建索引库Elasticsearch采用Rest风格API,因此其API就是一次http请求,你可以用任何工具发起http请求语法PUT /索引名称{"settings": {"属性名": "属性值"}}settings:就是索引库设置,其中可以定义索引库的各种属性 比如分片数 副本数等,目前我们可以不设置,都走默认示例PUT /lagou-company-index可以看到索引创建成功了。..原创 2021-10-26 18:30:19 · 2495 阅读 · 0 评论 -
ELK ① ElasticSearch 介绍,安装,配置, Kibana 介绍,安装,配置
目录1 ElasticSearch第1节 ELK1.1 集中式日志系统1.2 ELK 协议栈介绍及体系结构ElasticsearchLogstashKibana1.3 Elk整体架构1.4 参考文档第2节 Elasticsearch2.1 什么是ElasticSearch2.2 ElasticSearch使用案例2.3 ElasticSearch对比Solr2.4 Elasticsearch Single-Node Mode部署1. 环境准备2原创 2021-10-26 16:32:46 · 1010 阅读 · 0 评论 -
6.2.5 Spark Streaming 《概述》架构、优缺点《数据源》文件、套接字、RDD《转换》无状态、有状态(窗口/状态追踪)《输出》《整合Kfk》08接口、10接口、偏移量管理
大数据高速计算引擎Spark(下)【讲师:回灯】第三部分 Spark Streaming随着大数据技术的不断发展,人们对于大数据的实时性处理要求也在不断提高,传统的 MapReduce 等批处理框架在某些特定领域,例如实时用户推荐、用户行为分析这些应用场景上逐渐不能满足人们对实时性的需求,因此诞生了一批如 S3、Samza、Storm、Flink等流式分析、实时计算框架。Spark 由于其内部优秀的调度机制、快速的分布式计算能力,能够以极快的速度进行迭代计算。正是由于具有这样的优势,Spar原创 2021-04-25 15:47:11 · 958 阅读 · 0 评论 -
3.2.1.2 Hive,函数(日期,条件,YDTF...),内置/窗口/自定义, Hive事务(行事务), 元数据管理存储Metastore,HiveServer2, HCatalog, 存储格式
第七部分 函数Hive内置函数:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-Built-inFunctions第 1 节 系统内置函数查看系统函数-- 查看系统自带函数show functions;-- 显示自带函数的用法desc function upper;desc function extended upper;日期函数【重要】...原创 2020-12-29 15:55:13 · 1299 阅读 · 1 评论 -
6.2.4 SparkSQL《Action》《Trans,类似RDD,存储,Slc,Whr,gBy,oBy,JOIN,集合,控制,窗口,内建》《语句,文件,UDF,HIVE》《原理》JOIN,解析过程
目录2.4 Action操作2.5 Transformation 操作与RDD类似的操作存储相关select相关where相关groupBy相关orderBy相关join相关集合相关空值处理窗口函数内建函数2.6 SQL语句2.7 输入与输出Parquet文件:json文件:CSV文件:2.8 UDF & UDAF1、UDF2、UDAF2.9 访问Hive第3节 Spark SQL原理2.1 SparkS原创 2021-03-07 13:25:31 · 731 阅读 · 0 评论 -
6.2.3 Spark《RDD高阶》序列化,依赖,持久,容错,分区,广播,累加,TopN《原理初》独立作业提交,洗牌原理,RDD优化《SQL概述》数据抽象,类型《SQL编程》SpkSes,DF&DS
大数据高速计算引擎Spark课程内容:MapReduce、Spark、Flink(实时) => 3代计算引擎;昨天、今天、未来MapReduce、Spark:类MR的处理引擎;底层原理非常相似;数据分区、map task、reduce task、shuffle第一部分 Spark Core第1节 Spark概述1.1 什么是SparkSpark是当今大数据领域最活跃、最热门、最高效的大数据通用计算引擎2009年诞生于美国加州大学伯克利分校AMP 实验室...原创 2021-03-07 13:20:24 · 809 阅读 · 0 评论 -
6.2.2 Spark Act触发《KVRDD》创建, 类似map,聚合(重要),排序,JOIN,ACT《输入出》文本,CSV,JSON,Seq,对象,JDBC《算子综合》词数,PAI,广告,共同好友
目录3.6 Action3.7 Key-Value RDD操作3.7.1 创建Pair RDD3.7.2 Transformation操作 1、类似 map 操作 2、聚合操作【重要、难点】 3、排序操作 4、join操作3.7.3 Action操作3.8 输入与输出3.8.1 文件输入与输出 1、文本文件 2、csv文件 3、...原创 2021-03-07 13:12:47 · 560 阅读 · 0 评论 -
6.2.1 Spark 《概述》意义,架构,部署模式《安装》本地,伪分布,集群(S/Y),开发环境《RDD编程》概述,RDD创建(集合/文件/RDD),转换子(宽/窄依赖)
大数据高速计算引擎SparkSpark Core -- 离线Spark SQL -- 离线、交互Spark Streaming -- 实时Spark GraphX -- 图处理Spark原理MapReduce、Spark、Flink(实时) => 3代计算引擎;昨天、今天、未来MapReduce、Spark:类MR的处理引擎;底层原理非常相似;数据分区、map task、reduce task、shuffle目录第一部分 Spark Core第1节 Spark概.原创 2021-03-01 21:08:39 · 664 阅读 · 0 评论 -
6.1.4 Scala 《集合》不/可变,Ls,Qu,Set,Map,转换《算子》遍历,展开,并算,归约,排序《隐式》转换/函数,参数/值《类型参数》泛型类/函数,协/逆变《Akka》Actor
目录第九部分 集合第1节 可变和不可变集合第2节 Seq元素序列2.1 List2.2 Queue第3节 Set第4节 Map第5节 集合常用算子5.1 遍历: map、foreach & mapValues5.2 展开: flatten & flatMap5.3 偏函数并行计算: collect5.4 归约: reduce5.5 排序: sorted sortwith & sortby第6节 与Java集合的转换第十部分原创 2021-02-27 21:21:02 · 448 阅读 · 0 评论 -
6.1.3 Scala《特质》接口实现,构造顺序,继承,order,《匹配/样例》模式/字符/串/守卫/类型/数组元组集合,Opt,《函数/抽象化》区分,匿名占位符高阶,闭包,柯里化,部分应用,偏函数
第六部分 特质第1节 作为接口使用的特质Scala中的trait特质是一种特殊的概念。首先可以将trait作为接口来使用,此时的trait就与Java中的接口非常类似。在trait中可以定义抽象方法,与抽象类中的抽象方法一样,只要不给出方法的具体实现即可。类可以使用extends关键字继承trait。注意:在Scala中没有implement的概念,无论继承类还是trait特质,统一都是extends。类继承trait特质后,必须实现其中的抽象方法,实现时可以省略overrid...原创 2021-02-27 21:13:14 · 354 阅读 · 0 评论 -
6.1.2 Scala 数组元组(变长,操作,算法,多维,元组), 类与对象(无参构造,自定义GS,Bean,构造器,对象(单例,伴生,app对象)), 继承(构造执行顺序,方法重写,类型检查转换)
目录第三部分 数组和元组第1节 数组定义第2节 变长数组第3节 数组操作第4节 常见算法第5节 多维数组第6节 元组及操作第四部分 类与对象第1节 类和无参构造器第2节 自定义getter和setter方法第3节 Bean属性第4节 构造器第5节 对象5.1 单例对象5.2 伴生类与伴生对象5.3 应用程序对象5.4 apply方法第五部分 继承第1节 继承的概念第2节 构造器执行顺序第3节 override方法重写第4原创 2021-02-26 19:48:45 · 543 阅读 · 0 评论 -
6.1.1 Scala 基础(概况, 环境,命名, 类型,类层次,值与变量,类型推断,操作符, 块与赋值, 输入/出, 插值器), 控制结构与函数(if,for, while, 函数,懒值,文件操作)
目录第一部分 Scala基础第1节 Scala语言概况1.1 Scala语言起源1.2 Scala语言特点1.3 为什么要学Scala第2节 环境准备2.1 Windows下环境配置2.2 IDEA环境配置2.3 Scala的REPL第3节 基础语法第4节 常用类型与字面量第5节 类层次结构第6节 值与变量&自动类型推断第7节 操作符第8节 块表达式和赋值语句第9节 输入和输出第10节 字符串插值器第二部分 控制结构和函数第原创 2021-02-26 19:44:58 · 531 阅读 · 0 评论 -
3.1.4 Hadoop, Yarn, 资源调度, AH源码分析, 3.x 新特性概述, Job三原则, 调优(Shuffle, Job, YARN, NN Full GC), 二次开发环境搭建
目录第七部分 YARN资源调度第 1 节 Yarn架构第 2 节 Yarn任务提交(⼯作机制)第 3 节 Yarn调度策略第 4 节 Yarn多租户资源隔离配置第⼋部分 Apache Hadoop HDFS核⼼源码剖析第 1 节 源码阅读准备第 2 节 NameNode 启动流程第 3 节 DataNode 启动流程第 4 节 写数据流程第 5 节 NameNode如何⽀撑⾼并发访问(双缓冲机制)扩展 Hadoop 3.x 新特性概述Hadoop3.x新.原创 2020-12-27 14:57:05 · 8062 阅读 · 0 评论 -
Error, return code 1..TezTask..Container is running beyond virtual memory limits. Killing container
执行简单查询, 数据仅39条, 报错接着在 /tmp/root 目录下查看 hive.log日志发现以下问题2021-02-13T15:33:03,851 ERROR [2ce7e458-f3ef-47d2-a8e1-c704fd56d96c main] exec.Task: Failed to execute tez graph.org.apache.tez.dag.api.SessionNotRunning: TezSession has already shut...原创 2021-02-13 15:55:22 · 514 阅读 · 0 评论 -
4.2.10 Kafka源码剖析, 阅读环境搭建, broker启动流程, topic创建流程, Producer生产者流程, Consumer消费者流程,
4.1 Kafka源码剖析之源码阅读环境搭建首先下载源码:http://archive.apache.org/dist/kafka/1.0.2/kafka-1.0.2-src.tgzgradle-4.8.1下载地址:https://services.gradle.org/distributions/gradle-4.8.1-bin.zipScala-2.12.12下载地址:https://downloads.lightbend.com/scala/2.12.12/scala-2.12.12.msi4原创 2021-01-30 20:30:54 · 723 阅读 · 0 评论 -
4.2.9 Kafka集群与运维, 应用场景, 集群搭建, 集群监控JMX(度量指标, JConsole, 编程获取, Kafka Eagle)
目录3.1 集群应用场景1消息传递2网站活动路由3监控指标4日志汇总5流处理6活动采集7提交日志总结3.2 集群搭建3.2.1 Zookeeper集群搭建3.2.2 Kafka集群搭建3.3 集群监控3.3.1 监控度量指标3.3.1.1 JMX3.3.1.2 使用JConsole链接JMX端口3.3.1.3 编程手段来获取监控指标3.3.2 监控工具 Kafka Eagle3.1 集群应用场景1消息...原创 2021-01-30 19:11:55 · 629 阅读 · 2 评论 -
3.4.1 Zookeeper 简介, 搭建, 数据结构监听机制,基本使用-命令行/客户端(创建读取更新删除),内部原理,实践(动态监听,分布式锁), Hadoop HA集群(HDFS,YARN)
1. Zookeeper简介1.1 Zookeeper是什么?Zookeeper 是一个分布式协调服务的开源框架。 主要用来解决分布式集群中应用系统的一致性问题,例如怎样避免同时操作同一数据造成脏读的问题。分布式系统中数据存在一致性的问题!!ZooKeeper 本质上是一个分布式的小文件存储系统。 提供基于类似于文件系统的目录树方式的数据存储,并且可以对树中的节点进行有效管理。ZooKeeper 提供给客户端监控存储在zk内部数据的功能,从而可以达到基于数据的集群管理。 诸如: ...原创 2021-01-04 20:08:18 · 580 阅读 · 2 评论 -
4.2.8 Kafka 延时队列, 重试队列(结合redis实现)
4.2.8 Kafka 高级特性-延时/重试队列原创 2021-01-30 14:39:29 · 2544 阅读 · 0 评论 -
4.2.7 Kafka 稳定性, 事务, broker选举, 可靠性保证(失效副本, 副本复制),一致性保证(LEO, HW, Epoch), 消息重复场景及解决方案,consumer_offsets
4.2.7 Kafka 高级特性-稳定性原创 2021-01-29 20:06:57 · 1193 阅读 · 0 评论 -
4.2.6 Kafka 物理存储, 概述(LogSegment类别作用,日志/索引文件,切分),日志存储(偏移量/时间戳索引, 删除/压缩清理策略), 磁盘存储(零拷贝, 页缓存, 顺序写入)
4.2.6 Kafka 高级特性-物理存储原创 2021-01-28 14:48:58 · 1609 阅读 · 0 评论 -
4.2.5 Kafka 分区, 副本机制, 副本Leader选举, 分区重新分配, 自动再均衡, 修改分区副本, 分区分配策略(范围, 轮询, 黏性, 自定义)
4.2.5 Kafka 高级特性-分区原创 2021-01-27 17:11:18 · 937 阅读 · 0 评论 -
4.2.4 Kafka 主题, shell管理(创建, 查看, 修改, 删除), 增加分区, 副本分配, 必要参数, 客户端应用(创建,删除, 修改, 查看), shell偏移量管理
4.2.4 Kafka 高级特性-主题原创 2021-01-27 14:14:05 · 520 阅读 · 0 评论 -
4.2.3 Kafka 消费者, 概念, 消息接收(参数配置, 订阅,主题和分区, 反序列化,位移提交/管理, 再均衡,拦截器), 组管理(消费者组, 消费者位移, 位移管理, 再均衡)
4.2.3 Kafka 高级特性-消费者原创 2021-01-26 16:04:58 · 730 阅读 · 0 评论 -
4.2.2 Kafka 生产者, 数据生产流程, 参数配置, 序列化器, 分区器, 原理剖析, 生产者参数配置补充
Kafka 高级特性-生产者原创 2021-01-25 17:28:20 · 440 阅读 · 0 评论 -
4.2.1 Kafka 架构与实战, 介绍及优势, 应用场景, 基本架构, 核心概念, 单机安装配置, SpringBoot下实战, 服务端参数配置
Kafka第一部分 Kafka架构与实战1.1 概念和基本架构1.1.1 Kafka介绍Kafka是最初由Linkedin公司开发,是一个分布式、分区的、多副本的、多生产者、多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/nginx日志、访问日志,消息服务等等,Linkedin于2010年贡献给了Apache基金会并成为顶级开源项目。主要应用场景是:日志收集系统和消息系统。Kafka主要设计目标如下:以时间复杂度为O(1)的方式提供原创 2021-01-22 21:04:30 · 538 阅读 · 0 评论 -
4.1.5 Redis经典问题,缓存(穿透, 雪崩, 击穿, 数据不一致, 数据并发竞争 , HotKey, BigKey), 分布式锁(watch乐观锁, setnx, Redisson)
Redis经典问题解析缓存问题缓存穿透一般的缓存系统,都是按照key去缓存查询,如果不存在对应的value,就应该去后端系统查找(比如DB)。缓存穿透是指在高并发下查询key不存在的数据,会穿过缓存查询数据库。导致数据库压力过大而宕机解决方案:对查询结果为空的情况也进行缓存,缓存时间(ttl)设置短一点,或者该key对应的数据insert了之后清理缓存。问题:缓存太多空值占用了更多的空间使用布隆过滤器。在缓存之前在加一层布隆过滤器,在查询的时候先去布隆过滤器查询 key 是否...原创 2021-01-21 18:26:47 · 951 阅读 · 0 评论 -
4.1.4 Redis高可用,主从复制(作用/原理/实现), 哨兵模式(配置部署/执行流程/), 集群与分区(意义,方式,一致性hash, 分片,slot),容灾
高可用方案“高可用性”(High Availability)通常来描述一个系统经过专门的设计,从而减少停工时间,而保持其服务的高度可用性。CAP的AAP模型单机的Redis是无法保证高可用性的,当Redis服务器宕机后,即使在有持久化的机制下也无法保证不丢失数据。所以我们采用Redis多机和集群的方式来保证Redis的高可用性。单进程+单线程 + 多机 (集群)1 主从复制Redis支持主从复制功能,可以通过执行slaveof(Redis5以后改成replicaof)或者在配...原创 2021-01-15 19:01:19 · 380 阅读 · 0 评论 -
4.1.3 Redis高级, 发布与订阅(频道,机制,使用),事物(命令,机制,弱事务性 ),Lua脚本(命令实现,脚本复制,区别),慢查询日志(设置,存,查,删,添,处理),监视器(monitor)
Redis高级1 发布与订阅Redis提供了发布订阅功能,可以用于消息的传输Redis的发布订阅机制包括三个部分,publisher,subscriber和Channel发布者和订阅者都是Redis客户端,Channel则为Redis服务器端。发布者将消息发送到某个的频道,订阅了这个频道的订阅者就能接收到这条消息。1.1 频道/模式的订阅与退订subscribe:订阅 subscribe channel1 channel2 ..Redis客户端1订阅频道1和频道...原创 2021-01-14 15:18:00 · 436 阅读 · 1 评论 -
4.1.2 Redis持久化, 原因, RDB方式(触发,原理,结构,优缺点), AOF方式(原理,保存模式,重写,触发方式, 混合持久化), RDB/AOF对比, 应用场景
目录Redis持久化1. 为什么要持久化2 RDB2.1 触发快照的方式配置参数定期执行命令显式触发2.2 RDB执行流程(原理)2.3 RDB文件结构2.4 RDB的优缺点3 AOF3.1 AOF持久化实现3.2 AOF原理3.2.1 命令传播3.2.2 缓存追加3.2.3 文件写入和保存3.3 AOF 保存模式3.4 AOF重写、触发方式、混合持久化3.4.1 重写过程分析(整个重写操作是绝对安全的):3.4.2 触发方式3原创 2021-01-13 19:25:10 · 339 阅读 · 0 评论 -
4.1.1 Redis基础,安装,数据类型及应用场景, 常用命令, 客户端Jedis, 缓存过期/淘汰策略, 删除策略, 淘汰机制LRU/LFU
缓存原理&设计缓存基本思想什么是缓存?缓存原指CPU上的一种高速存储器,它先于内存与CPU交换数据,速度很快现在泛指存储在计算机上的原始数据的复制集,便于快速访问。在互联网技术中,缓存是系统快速响应的关键技术之一以空间换时间的一种技术(艺术)缓存的使用场景DB缓存,减轻DB服务器压力一般情况下数据存在数据库中,应用程序直接操作数据库。当访问量上万,数据库压力增大,可以采取的方案有:读写分离,分库分表当访问量达到10万、百万,需要引入缓存。将已经访问过...原创 2021-01-12 17:12:22 · 1083 阅读 · 0 评论 -
3.4.3 Azkaban 工作流调度系统, 概述, 安装部署, 使用(shell调度, job依赖, HDFS调度, MR调度, HIVE脚本调度)
⼯作流调度系统Azkaban第 1 节 概述1.1 ⼯作流调度系统⼀个完整的数据分析系统通常都是由⼤量任务单元组成:shell脚本程序 java程序 mapreduce程序 hive脚本等各任务单元之间存在时间先后及前后依赖关系,为了很好地组织起这样的复杂执⾏计划,需要⼀个⼯作流调度系统来调度任务的执⾏。假如,我有这样⼀个需求,某个业务系统每天产⽣20G原始数据,每天都要对其进⾏处理,处理步骤如下所示:通过Hadoop先将原始数据同步到HDFS上; 借助MapR...原创 2021-01-12 11:41:24 · 460 阅读 · 0 评论 -
3.1.3 Hadoop,MR, 序列化,MR原理/并行度,Shuffle,分区与任务数,预聚合,全排序,分区排序,MR-join案例, 输入/出格式, 压缩机制, MR综合案例, MR算法扩展
第六部分 MapReduce编程框架第 1 节 MapReduce思想MapReduce思想在⽣活中处处可⻅。我们或多或少都曾接触过这种思想。MapReduce的思想核⼼是分⽽治之,充分利⽤了并⾏处理的优势。即使是发布过论⽂实现分布式计算的⾕歌也只是实现了这种思想,⽽不是⾃⼰原创。MapReduce任务过程是分为两个处理阶段:Map阶段:Map阶段的主要作⽤是“分”,即把复杂的任务分解为若⼲个“简单的任务”来并⾏处理。Map阶段的这些任务可以并⾏计算,彼此间没有依赖关系。...原创 2020-12-26 23:26:09 · 975 阅读 · 0 评论 -
3.1.2 Hadoop, HDFS, 简介, 概念, 架构(NN,DN,C), 客户端操作(命令行/API), 读写解析, NN/2NN, 故障处理, 限额/安全模式/归档, 日志采集案例及优化
第五部分 HDFS分布式⽂件系第 1 节 HDFS 简介HDFS (全称:Hadoop Distribute File System,Hadoop 分布式⽂件系统)是 Hadoop 核⼼组成,是分布式存储服务。分布式⽂件系统横跨多台计算机,在⼤数据时代有着⼴泛的应⽤前景,它们为存储和处理超⼤规模数据提供所需的扩展能⼒。HDFS是分布式⽂件系统中的⼀种。第 2 节 HDFS的重要概念HDFS 通过统⼀的命名空间⽬录树来定位⽂件; 另外,它是分布式的,由很多服务器联合起来实...原创 2020-12-24 20:04:26 · 683 阅读 · 0 评论 -
3.1.1 Hadoop 简介, 组成(HDFS, MR, YARN, common), 分布式集群搭建(环境准备, 安装, 集群规划, 启动方式/单节点, 群起/, 测试, 历史日志聚集, )
HADOOP框架大数据技术解决的是什什么问题?大数据技术解决的主要是海海量量数据的存储和计算。Hadoop的⼴广义和狭义之分狭义的Hadoop: 指的是⼀一个框架,Hadoop是由三部分组成: HDFS:分布式⽂文件系统--》存储; MapReduce: 分布式离线计算框架--》计算; Yarn: 资源调度框架广义的Hadoop:广义Hadoop是不不仅仅包含Hadoop框架,除了了Hadoop框架之外还有⼀一些...原创 2020-12-23 19:52:18 · 1119 阅读 · 0 评论
分享