
大数据
文章平均质量分 93
freesOcean
这个作者很懒,什么都没留下…
展开
-
HBase笔记-体系结构梳理
Hbase发展历史要说清楚HBase的来龙去脉,还得从Google当年风靡一时的“三篇论文”——GFS、MapReduce、BigTable说起。2003年Google在SOSP会议上发表了大数据历史上第一篇公认的革命性论文——***《 GFS: The Google File System 》***之所以称其为“革命性”是有多方面原因的:首先,Google在该论文中第一次揭示了如何在大量廉价机器基础上存储海量数据,这让人们第一次意识到海量数据可以在不需要任何高端设备的前提下实现存储,换句话说,任何一原创 2022-01-24 23:40:45 · 1816 阅读 · 0 评论 -
布隆过滤器在UV统计中的应用
一.内存瓶颈用Flink统计UV(Unique Visitor:网站独立访客数)这个指标时,需要根据UserId进行去重(同一个用户的多个操作,只会统计一次)。开始的思路是通过一个Set数据结构,保存一个窗口中所有的userID,因为Set数据结构本身具有去重功能,最后计算Set的Size即可得到统计指标。但是当时并未考虑将一个计算窗口中的所有数据存入Set中内存会是一个瓶颈。试想:一个小时的窗口,发生的用户访问行为,在某些大型网站上,可能是千万,甚至上亿级别。下面通过简单的定量分析说明:假如Use原创 2021-09-15 18:49:50 · 784 阅读 · 0 评论 -
FlinkSQL快速入门
一.FlinkSQL和TableAPI简介Flink针对流处理和批处理,为我们提供了多种操作API。从图中可知,越上层的API抽象程度越高,门槛越低(大家都熟悉SQL),但也丧失了灵活性。Table API 是一系列集成在Java或Scala语言中的查询API,它允许通过一些关系运算符操作进行很直观的操作。FlinkSQL 则是基于Apache Calcite实现了标准的SQL,可以通过编写SQL的方式进行Flink数据处理。需要引入的依赖<dependency> <gr原创 2021-09-08 16:39:28 · 6297 阅读 · 0 评论 -
Azkaban任务动态参数小结
文章目录1. 数仓任务调度案例2.动态传参任务案例1. 数仓任务调度案例每日凌晨,我们会将业务数据库同步到数仓中,并进行清洗和相关指标的计算,然后导出到PostgreSQL中给业务系统使用,整个过程可以通过Azkaban进行调度执行。job编写job内容是执行对应的shell脚本,执行对应的任务,比如hive的脚本等。job的执行顺序依靠dependencies来描述,A 依赖B,则B先执行。多个依赖用逗号分隔。import_log.jobtype=commanddo_date=${d原创 2021-05-25 16:15:31 · 2326 阅读 · 3 评论 -
Azkaban部署和配置
文章目录1.安装部署1.1.下载源码1.2.解压源码:1.3.编译源码1.4.打包等待1.5.拷贝安装包1.6.初始化数据库1.7.配置azkaban1.8.启动服务1.9.配置ssl(可选)2.使用Azkaban2.1.简单入门2.2.常见错误3.小结1.安装部署1.1.下载源码https://github.com/azkaban/azkaban/tags1.2.解压源码:tar -zxf azkaban-3.85.1.tar.gz -C /opt/soft1.3.编译源码需要安装git,原创 2021-05-25 13:41:30 · 1424 阅读 · 2 评论 -
Hive窗口函数小结
一.窗口函数作用1.1.测试数据首先我们看下面一组数据: business表中有一组消费流水记录。1.2.应用场景需求:求在2017年4月份购买过的顾客及总人数 从上面数据可以看出,4月份mart和jack购买过,所以总人数是2人。此时通过传统的group by显然无法实现:select name ,count(*) as sum_peoplefrom businesswhere substring(orderdate,1,7) = '2017-04'group by name;原创 2021-04-29 19:16:36 · 530 阅读 · 0 评论 -
map-reduce job执行过程和优化
文章目录提交 job到Yarn的流程Map-Reduce过程详解和优化通用优化常用优化参数列表本文将梳理一个MapReduce任务详细的执行过程,并通过图解的方式,说明中间我们可控的部分和常用的优化手段。提交 job到Yarn的流程在Hadoop1.x中map-reduce job通过job traker执行,多个任务便会有多个job traker。job traker 负责资源分配,任务执行状态的监控等等。它做了所有的事情,所以不利于扩展,并且job traker存在单点故障,一旦job trake原创 2020-11-20 16:45:14 · 749 阅读 · 0 评论 -
scala环境集成
文章目录scala和java的区别。scala环境搭建scala和java的区别。scala的基础是java,其作者也是java编译器的核心开发者。scala 在保留部分java语法的基础上,有自己特有的语法和类库,同时对部分java语法做了封装,让其更加简洁。所以scala 环境必须要有jdk。 下面通过一张图,说明scala和java的对比:可以看到scala 代码会调用 jdk 和 Scala SDK ,而scala SDK 封装了部分jkd库,所以依赖jdk。最终都会运行在JVM上。scal原创 2020-10-21 16:31:11 · 254 阅读 · 0 评论 -
Zookeeper笔记
文章目录什么是zookeeperzookeeper内部原理选举机制:节点类型:Stat结构体:监听器原理zookeeper使用本地模式安装分布式安装部署客户端命令什么是zookeeperzookeeper是一个分布式协调系统,它保存集群中大家关心的数据,通过观察者模式让各个节点了解这些数据。(比如配置文件,节点的在线情况,统一命名,负载均衡)zookeeper内部原理选举机制:1)半数机制:集群中半数以上机器存活,集群可用。所以Zookeeper适合安装奇数台服务器。2)Zookeeper虽然在原创 2020-10-15 07:53:31 · 295 阅读 · 0 评论 -
Flume自定义组件(上篇)
文章目录Flume事务自定义拦截器自定义Source自定义sink在聊自定义组件前,先了解下Flume的事务。Flume事务自定义拦截器案例: 自定义拦截器,将不同内容发往不同Channel,然后分发到不同的分析系统Flume2 和Flume3。1.创建一个 maven 项目,并引入以下依赖。<dependency> <groupId>org.apache.flume</groupId> <artifactId>flume-ng-cor原创 2020-09-30 16:03:11 · 348 阅读 · 0 评论 -
Flume常用拓扑结构
文章目录多个Flume串联多个Flume聚合复制和多路复用负载均衡和故障转移Flume 支持下面几种方式读取日志流数据:AvroThriftSyslogNetcatAvro source和Avro sink 对Flume灵活的拓扑结构至关重要。Avro source : 可以接受Avro Client 发送的 事件,或者Avro sink发送的事件。Avro Source被设计为高扩展的RPC服务器端,能从其他的Flume Agent的Avro Sink或者使用Flume的SDK发原创 2020-09-29 15:40:48 · 656 阅读 · 0 评论 -
Flume常用组件示例
文章目录安装定义监听端口数据写事件到控制台案例监控单个追加日志文件监控某个文件夹的新文件断点续传文件安装1) Flume 官网地址http://flume.apache.org/2)文档查看地址http://flume.apache.org/FlumeUserGuide.html3)下载地址http://archive.apache.org/dist/flume/第一步:apache-flume-1.7.0-bin.tar.gz 上传到 linux 并解压到/opt/目录第二步:将 flu原创 2020-09-29 15:34:32 · 199 阅读 · 0 评论 -
Hadoop乱码引发的思考
文章目录Reducer阶段的乱码如何编码为何UTF-8需要三个字节?Reducer阶段的乱码在Hadoop的Mapper阶段,我读入了一个有中文的txt文档。处理后,Reducer输出后乱码原因是txt文档是GBK编码格式,而我用下面方式读取后,在Reducer阶段使用UTF-8编码,就会乱码。@Overrideprotected void map(LongWritable key, Text value, Context context) throws IOException, Inter原创 2020-09-09 17:34:17 · 580 阅读 · 0 评论 -
HDFS的DataNode工作原理
文章目录工作原理超时设置添加新服役节点退役旧数据节点工作原理1)一个数据块在DataNode上以文件形式存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳。2)DataNode启动后向NameNode注册,通过后,周期性(1小时)的向NameNode上报所有的块信息。3)心跳是每3秒一次,心跳返回结果带有NameNode给该DataNode的命令如复制块数据到另一台机器,或删除某个数据块。如果超过10分钟没有收到某个DataNode的心跳,则认为该原创 2020-07-31 15:16:47 · 323 阅读 · 0 评论 -
NameNode和SeconddaryNameNode工作原理
文章目录工作机制:1.第一阶段:NameNode启动2.第二阶段:Secondary NameNode工作NN和2NN工作机制详解:停止集群,重新格式化测试Fsimage和Edits的解析CheckPoint时间设置NameNode故障处理方法一:将SecondaryNameNode中的数据拷贝到NameNode存储数据的目录方法二:使用-importCheckpoint选项启动NameNode守护进程,从而将SecondaryNameNode中数据拷贝到NameNode目录中。首先,我们做个假设,如果存原创 2020-07-16 16:55:04 · 303 阅读 · 0 评论 -
HDFS文件写入流程分析
文章目录视频介绍流程分析视频介绍 hdfs 流程分析1.客户端通过本地的DistributedFileSystem 调用create() 请求创建文件2.DistributedFileSystem 会发送一个RPC请求让namenode在命名空间创建文件,但是不会携带具体的块数据,namenode会做一系列检查:文件是否已经存在,是否具有权限,文件夹是否存在等,如果检查通过原创 2020-07-13 22:45:39 · 256 阅读 · 0 评论 -
HDFS-java客户端操作API
文章目录客户端操作环境搭建常见错误:客户端常用API1.文件常见API操作2.流操作-分块下载客户端操作环境搭建1.环境准备工作:在windows使用java客户端调用HDFS集群时,会初始化一个本地的文件系统对象,期间会用到hadoop编译包的一些文件。所以我们需要将Hadoop安装包解压到某个目录,并配置HADOOP_HOME 环境变量同时在path中添加%HADOOP_HOME%/bin需要注意,要选择对应版本的windows编译包。如果用Linux包(即集群中安装的hadoop包)解压,则需原创 2020-07-04 07:31:52 · 503 阅读 · 0 评论 -
HDFS常用操作shell命令
文章目录常用命令:遇到问题:一般使用bin/hadoop fs 或 bin/hdfs dfs 命令dfs是fs的实现类。两个命令都是操作HDFS.常用命令:#查看hadoop fs -ls /#创建目录:-p创建多级目录hadoop fs -mkdir -p /zx/file #从本地剪切文件到HDFShadoop fs -moveFromLocal ./tt.txt /zx/file#从本地拷贝文件到HDFS 和-put命令功能一样hadoop fs -copyFromLocal原创 2020-07-04 07:26:47 · 354 阅读 · 0 评论 -
Hadoop集群部署(最新版)
文章目录准备工作部署计划1.安装JDK和Hadoop2.编写一个集群同步脚本3.配置Hadoop4.单节点启动5.配置SSH免登录6.集群启动7.访问准备工作三台虚拟机hostnamehosts配置文件ip用户hadoop101192.168.43.11 hadoop101192.168.43.12 hadoop102192.168.43.13 hadoop103192.168.43.11xiaomaohadoop102同上192.168.43.原创 2020-06-13 09:38:52 · 511 阅读 · 0 评论 -
Hadoop3.1.2三节点环境搭建
文章目录安装步骤问题总结搭建hadoop3.1.2 三节点完全分布式环境。安装步骤安装过程总体分为下面几个部分:(1)准备需要的主机(2)安装JDK 和hadoop(3)配置Hadoop。(4)配置SSH无密码连接。(5)格式化HDFS。(6)启动Hadoop并验证安装。(1)准备需要的主机本教程搭建三节点hadoop集群,需要三台主机。可以是虚拟机或者云主机。虚拟机需要配置好静态IP,并设置好主机名。(可以采用默认主机名,这里为配置管理方便使用下面主机名)IP主机名称原创 2020-05-08 22:29:06 · 612 阅读 · 0 评论