自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 flume----复制选择器 分路选择器 file-channel sink处理器默认/负载均衡/失败切换 kafka-source/sink/channel hive-sink 实战练习

配置案例-复制选择器replicating selector (复制选择器)selector 将event复制,分发给所有下游节点#下游a1.sources = r1a1.channels = c1a1.sinks = k1a1.sources.r1.channels = c1#级联a1.sources.r1.type = avro#主机名a1.sources.r1.bind = 0.0.0.0#端口号a1.sources.r1.port = 41414a1.chann

2021-01-10 22:44:42 494

原创 Flume----简介 核心概念 安装部署 基础实战

概述Flume是一个数据采集工具可以从各种各样的数据源(服务器)上采集数据传输(汇聚)到大数据生态的各种存储系统中(hdfs hbase hive kafka); 开箱即用 (安装部署 修改配置文件)特性Flume是一个分布式,可靠, 和高可用的海量日志采集, 汇聚和传输的系统Flume可以采集文件, socket数据包(网络端口), 文件夹, kafka, mysql数据库等各种形式源数据又可以将采集到的数据(下沉sink)输出到HDFS hbase hive kafka等众.

2021-01-09 01:08:56 256

原创 sparkSQL----sql简介 创建DataFrame sparksql读取各种文件 Dataset的Encoder

sparksql简介Spark SQL是Spark用来处理结构化数据的一个模块网站(spark.apache.org/sql)1. 什么是DataFrames?与RDD类似, DataFrame也是一个分布式数据容器[抽象的], 然而DataFrame更像传统数据库的二维表格, 除了RDD的描述数据以外, 还记录数据的结构信息, 即 schema,与hive相似, DataFrame也支持嵌套数据类型(struct, array和map)DataFrame = RDD + S..

2021-01-04 00:45:46 662

原创 Spark---- spark StandAlone的执行模式 Hadoop YARN回顾 Spark on YARN

Spark StandAlone的执行模式1. client模式spark stand alone提交到集群中, 默认的模式为 client模式, 默认参数是 --deploy-mode client列如/opt/apps/spark-3.0.1-bin-hadoop3.2/bin/spark-submit --master spark://linux01:8020 --class cn._51doit.spark.day01.WordCount --deploy-mode clien.

2021-01-03 00:01:08 192

原创 spark----自定义排序 分组TopN 类加器 序列化问题 Task线程安全问题 spark程序反面教材

自定义排序定义类,实现序列化和Comparable/Ordereded接口隐式转换借助元组来排序分组topN先分组,toList然后在内存中排序, 每个组中的数据比较大, 可能会产生内存溢出自定义分区器, 然后在分区内排序, 可以使用TreeSet先过滤,然后使用RDD排序, 会触发多次Acton累加器用来统计数据处理的条数序列化问题Dirver实例化一个类的实例, 在函数内容引用了这个实例, 伴随着Task发送到Executor, 每个Task...

2020-12-30 18:20:32 199

原创 spark----高级功能--> cache/persist checkpoint 广播变量

cache / persist (效率高)cache / persist :cache, persist使用场景: 一个application多次触发Action,为了复用前面RDD计算好的数据,避免反复读取HDFS(数据源) 中的数据和重复计算 可以将数据缓存到内存或磁盘[executor所在的磁盘],第一次触发Action才放入到内存或磁盘,以后再触发Action会读取缓存的RDD数据再进行操作并且复用缓存的数据 ...

2020-12-30 00:26:56 345

原创 spark----RDD算子--Transformation之有shuffle

Transformation之有shuffle#2 产生Shuffle的 在分布式计算中,将数据按照一定的计算逻辑(分区器),将具有相同规律的数据通过网络传输到指定的位置,严格是说是下游的task到上游拉取数据,上游一个分区的数据给了下游多个分区,只要存在这种可能性,就是shuffle(数据被打散)reduceByKey(key相同聚合) groupByKey(根据key分组) groupBy(分组) distinct(过滤) aggregateByKey(key聚合) fol...

2020-12-29 12:24:52 290

原创 求topN的多种方法

求topN的多种方法第一种package cn.doit.spark.day05.demo02import cn.doit.SparkUtilimport org.apache.spark.rdd.RDD/* http://bigdata.51doit.cn/laozhang http://bigdata.51doit.cn/laozhang http://bigdata.51doit.cn/laozhao http://bigdata.51doit.cn

2020-12-29 00:08:28 342

原创 HADOOP----元数据管理机制 checkpoint机制 namenode/datanode HDFS存储数据特点 MR

搜索依赖:repository下载数据流程 1.客户端向namenode发送下载请求,namenode返回元数据 2.客户端解析返回元数据的每个数据块的各个主机,之后向某一个datanode发送下载请求 3.请求下载第一个数据块,再请求下载第二个数据块拼接到第一个数据块的后面,依次拼接,形成文件 元数据管理机制 1.将用户操作的元数据存储到FsImage对象中,内存会丢失 2.所以会定期的(1h)将数据存储到磁盘,在时间间隔期间会造成数据丢失 3...

2020-12-28 15:34:54 212

原创 HADOP----hadoop简介 HDFS的安装

基础知识回顾IO 在程序中IO流是阻塞的,支持随机读取数据,不支持修改数据 long skip=fis.skip(long): 读取文件跳过n个字节 1k=1024byte序列化 将内存中的对象存储在磁盘上,或者是将对象通过网络传输! 需要对象实现序列化, 本质:序列化就是对象转二进制的规则,反序列化就是将二进制转化成对象规则 java中有自己的序列化机制实现接口(Serializable) 序列...

2020-12-28 15:32:24 278

原创 spark---- RDD算子分类 DAG shuffle stage dependency job Task TaskSet Application RDD算子之Action算子

Action算子 调用sc.ranjob方法,根据最后一个RDD从后往前推,触发Action就会生成DAG,切分Stage,生成TaskSet算子: aggregate foreach foreachPartition count sum fold reduce max min take first top takeOrderedaggregate 聚合 ,设置初始值,先局部聚合在全局聚合package cn.doit.spark.day04....

2020-12-26 22:53:27 261

原创 Spark----HashPartitioner源码分析 RDD算子之Transformation无shuffle

RDD的算子的分类Transformation: 即转换算子,调用转换算子会生成一个新的RDD, Transformation是 Lazy 的,不会触发job执行Action: 行动算子,调用行动算子会触发job执行, 本质上是调用了sc.runJob方法, 该方法从最后一个RDD,根据 其依赖关系,从后往前,划分Stage,生成一个TaskSet1.创建RDD的方法 (1)通过并行化方式,将Dirver端的集合转成RDD ,可以指定分区的数量val rdd: RDD[Int...

2020-12-23 00:48:27 275

原创 Spark--MR和Spark区别 StandAlone client模式 shuffle Spark的集群安装 RDD maven初始化 java/scala编写 本地调试

面试题: MapReduce 和 Spark 的本质区别MR: 1. 只能在离线计算 2. 复杂计算逻辑,一个MR无法完成,需要多个MR按先 后顺序串联 3. 多个MR就要进行频繁的读写HDFS,效率低 4. 编程API不够灵活,只能在map和reduce自己实现逻辑Spark: 1. 即可以做离线计算,又可以做实时计算 2. 提供了抽象的数据集(RDD Dataset DataFrame DStream) ...

2020-12-20 22:30:49 257 3

原创 scala----方法与函数 柯里化和隐式参数 RichFile案例 Ordering和Ordered 视图和上下文界定 柯里化结合隐式

将方法生成一个新的函数package cn.doit.com.day05.demo01object MethodGenFunc { def m(x: Int): Int = x*x val f = (a: Int) => a * a def main(args: Array[String]): Unit = { val r1 = m(5) val r2 = f.apply(5) val arr = Array(1,2,3,4,5,6,7,8,9)

2020-12-19 23:45:26 215 1

原创 scala---- Akka-RPC通信案例框架

RPC通信框架 1. 启动Master,然后内部会启动一个定时器,定期检测超时的worker,将超时的worker删除 2. Master接收到了worker发送的注册信息 , 将信息保存到内存,也可以持久化到磁盘或者zooker 3. 启动worker,跟Master简历网络连接,将自己的信息(id,内存,cpu等信息)注册给Master 4. Master向worker发送一个注册成功的消息 5. Worker接收到Master的消息后,然后启动一个定时器,向...

2020-12-19 00:40:22 141 1

原创 scala----自定义一个高级的List 实现reduce和flatMap方法 akka-rpc通信过程案例分析 maven项目初始化

自定义一个高级的Listpackage cn.doit.com.day04.demo03;/* 1. 可以装任意类型的数据: 泛型 2. 可以实现链式调用 3. 具备list的add remove */public class MyAdvListDemo { public static void main(String[] args) { MyAdvList<String> words = new MyAdvList<>(

2020-12-19 00:35:22 219 1

原创 Scala----主构造 辅助构造 单例对象 apply 继承和实现特质 case calss和case object 模式匹配 OptionSomeNone

主构造器package cn.doit.com.day03.demo2//跟在类名的后面,跟类交织在一起,叫主造器 主构造会执行类定义中的所有语句// 用val和var修饰的构造器参数,会成为这个类的成员变量 默认val修饰 会成为类的成员变量class Student(val name:String , var age:Int) { val i = 100 //代码块 { try { println("hi ketty") } catch { ...

2020-12-16 23:46:23 388

原创 scala----常用方法 类的定义

常用方法1. 聚合常用函数sum求和 //底层是调用的foldLeftreduce聚合函数 arr.reduce(_+_) //底层调用的是reduceLeftreduceLeft_代表数据类型fold(0)(_+_) 55 fold(100)(_+_) 155 fold(1000)(_+_) 1055 //第一个括号是指定了起始值foldLeft(1)(_+_) //数据类型可以不相同 更加灵活product相乘2. mapValues //对值进行操作,再跟值拼接...

2020-12-15 19:44:08 416

原创 scala----基础 方法 数组 映射 元组 集合 函数的定义

Scala语言的特点Scala是一门以java虚拟机(JVM)为运行环境并将面向对象和函数式编程的最佳特性结合在一起的静态类型编程语言1) Scala是一门多范式的编程语言, Scala支持面向对象和函数式编程2) Scala源代码(.scala)会被编译成java字节码(.class) , 然后运行于JVM之上,并可以调用现有的Java类库,实现两种语言的无缝对接.3) scala是源于java,也将函数式编程语言的特点融合到java中...

2020-12-13 23:18:43 211

原创 OLAP引擎可视化----web扫盲 Spring核心 maven核心 springboot搭建 ajax

一. web扫盲1. 页面发起请求(login(name pwd))到控制层2. 控制层接收页面发起的请求,接收页面的请求参数,调用业务处理,返回页面(if else)3. 控制层调用业务层(login(name pwd)),业务层(service)接收到(login(name pwd))4. 业务层调用持久层(dao), 持久层调用JDBC将sql语句传到mysql中5. mysql中查询数据 , 将数据(model)返回持久层-->业务层-->控制层-->页面二

2020-12-11 22:26:06 225

原创 分布式引擎无副本 impala简介

一. 分布式引擎有副本1 将metrika.xml 分别放在每个集群的/etc/下2 每台机器开启远程连接权限 <listen_host>::</27.0.0.1>3. 重启服务service clickhouse-server start3 在每台机器上创建一个一样的表4 创建一个分布式表 和 每台机器的tb_a 关联create table tb_a2(id UInt8, name String) ENGINE=Log;insert into ...

2020-12-10 21:04:29 132

原创 clickhouse----高阶函数 JSON解析 日志数据导入hive 事件漏斗

一. 高阶函数方法: 是一段逻辑代码的封装,实现功能,代码的重复使用,方便调用 方法是对象的一部分函数:是一段逻辑代码的封装,实现功能,代码的重复使用,方便调用 函数比方法高级,可以作为一个特殊的对象单独存在function f (int a , int b){return a*b --a*b在方法中就是a*b , a+b在方法中就是a+b}public int opt(int a , int b , f){return f(a,b)}}1....

2020-12-08 14:54:55 3106

原创 clickhouse--SummingMergeTree() 表函数加载数据 array join HDFS引擎集成hdfs和hive文件

一. SummingMergeTree(cost) --将区内相同主键的所有的数据累加,合并之后cost会直接返回和create table tb_summ_merge_tree(id Int8,name String,cDate Date,cost Float64)engine=SummingMergeTree(cost)order by id --id排序partition by name --name分区primary by id; --id作为主键insert ...

2020-12-07 22:36:21 276

原创 linux的安装步骤 集群的搭建 命令 连接方式

虚拟网络编辑: 1.先配置虚拟机的ip.网关.子网掩码.域名 2.在配置windows:更改适配器--->VMnet8--->ip.网关.子网掩码.域名 3.输入命令 vi /etc/sysconfig/network-scripts/ifcfg-ens33(写错进入空白) 进入编辑模式BOOTPROTO=static ONBOOT=yes 最后面跟上下面的ip.网关.子网掩码.域名 IPADDR=19...

2020-12-05 11:38:49 362

原创 ClickHouse----单击安装 引擎

一. ClickHouse概述1. 什么是clickHouse?1) SQL结构化查询语言2) 分布式数据库3) 存储海量资源4) 列式存储5) 解决并发自己管理数据,读取别人的mysql hdfs 网络 本地文件ClickHouse是一个完全的列式存储数据库管理系统 , 主要用于在线分析处理查询(OLAP),能够使用SQL查询实时生成分析数据报告,2. 选择ClickHouse的主要原因就是以为它快,为什么会快?1) C++2) 利用c语言和硬件的交互优势 更好

2020-12-05 00:00:04 99

原创 Hive----编号函数 自定义函数 集合类型 表的优化 数据倾斜

一.编号函数1. row_number() --仅仅定义组内的数据进行编号 1 23 4孙悟空 语文 87孙悟空 数学 95娜娜 英语 84宋宋 语文 64孙悟空 英语 68宋宋 英语 84婷婷 语文 65娜娜 语文 94宋宋 数学 86婷婷 数学 85娜娜 数学 56婷婷 英语 78select*,row_number() over(partition by subject order by score desc) --分组倒序 row_number:编号...

2020-12-04 00:22:49 283

原创 Hive----关联查询 排序 系统函数 分桶表 行列转换 窗口函数

关联查询join on --可以多表连接left join on --左连接right join on --右连接left semi on --返回主表的内容 right不能和semi一块使用,只能左连 (类似于子查询)union all --联合查询,连接两个查询的结果集 要求字段个数和数据类型一致 all(不会去重)union --去重 (union all 和 union返回结果是两个表的结合)full join --两个表的拼接(包括null值)--join的多表连

2020-12-02 01:17:54 407

原创 Hive----hive数据的导入导出及分区.greatest.case.with as

数据的导入1 location2 load3 insert4 create5 put6 import导入指定export的数据create table tb_log2 like tb_log ; – 根据已有的表结构建表在shell客户端导入hdfs上的数据:export table tb_log to‘/user/hive/warehouse/export/tb_log’ ;import table tb_log2 from‘/user/hive/warehouse/expo

2020-12-01 00:33:38 545

原创 zk选举机制

1 简述ZK的选举机制 (1初次启动时 2 leader宕机时) (扩展)答:1.linux01启动了,然后向局域网发送广播寻找leader,发现没有leader,自己就投自己一票,并向局域网广播.2.linux02启动了,向局域网发送广播寻找leader,发现没有,进入投票状态收到linux01投的票,发现linux01比自己小,然投自己一票,此时linux01也会收到linux02的投票,发现2投了它自己一票,重新投票给2,这个时候linux02有了两票,然后通过配置文件获知集群共有3台机器

2020-11-29 23:28:12 1133

原创 Hive---hive的安装详细步骤及连接

Hive(海量的结构化的运算分析工具)Hive是基于Hadoop的一个数据仓库工具(服务性的软件),k可以将结构化的数据文件映射为一张表,并提供类似于SQL查询.1) Hive处理的数据存储在HDFS(结构化数据)2) Hive分析数据底层的实现是MapReduce/spark(分布式运算框架)3) 执行程序运行在Tarn上Hive的安装详细步骤 1.mysql数据 远程连接权限 1) mysql -uroot -proot 2) set global validate_pass

2020-11-29 23:27:04 271

原创 基础知识回顾(io/序列化/json/迭代器)hdfs的安装

基础知识回顾IO在程序中IO流是阻塞的,支持随机读取数据,不支持修改数据long skip=fis.skip(long): 读取文件跳过n个字节 1k=1024byte序列化将内存中的对象存储在磁盘上,或者是将对象通过网络传输! 需要对象实现序列化,本质:序列化就是对象转二进制的规则,反序列化就是将二进制转化成对象规则java中有自己的序列化机制实现接口(Serializable)序列化将对象持久化到磁盘(持久化 钝化)反序列将磁盘上的对象数据反序列化成java对象(活化)JSON:

2020-11-29 23:26:32 66

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除