自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Flink Task && SubTask

Flink Task && SubTask1. 基本概念Task(任务):Task 是一个阶段多个功能相同 subTask 的集合,类似于 Spark 中的 TaskSet。subTask(子任务):subTask 是 Flink 中任务最小执行单元,是一个 Java 类的实例,这个 Java 类中有属性和方法,完成具体的计算逻辑。Operator Chains(算子链):没有 shuffle 的多个算子合并在一个 subTask 中,就形成了 Operator Chains,类似

2021-03-22 18:15:05 823

原创 Flink -- WEB && Standalone Clusters

目录1. Flink Web2. Flink Standalone Clusters 部署2.1 下载&&解压2.2 修改配置文件2.3 启动 Flink 集群2.4 提交一个应用程序1. Flink WebFlink 对标 Spark,Spark 自带了一个 Web 页面可以查看 Job 的执行情况,Flink 运行过程中,查看打印的 Log 中没有发现对应的 Web。Flink 中如果需要打开 WEB 页面,则需要添加一个依赖。<dependency> &

2021-03-21 17:13:45 463

原创 Flink--初识 DataStream Connector Kafka

目录1. 增加 POM 文件2. 使用 Kafka 作为 Source2.1 创建 Topic2.2 Code3. 使用 Kafka 作为 Sink3.1 CodeFlink 作为比较适合流式处理的计算框架,在流式处理当中,比较搭配的消息中间件为 Kafka本次使用的 Kafka 版本为 2.1.0-cdh6.2.0Flink 版本为 1.11.2,Scala 版本为 2.12.10官网Flink provides an Apache Kafka connector for reading d

2021-03-19 17:11:05 296

原创 Flink DataStream 常用 Transformations 算子、测流、自定义分区器

目录1. DataStream 常用 Transformations 算子1.1 Map1.2 FlatMap1.3 Filter1.4 KeyBy1.5 Reduce1.6 Fold1.7 Aggregations1.8 Union1.9 Connect1.10 Split + Select2. 测流2.1 Filter 分流2.2 Split + Select 分流2.3 测流输出3. 自定义分区器1. DataStream 常用 Transformations 算子数据hadoop,spar

2021-03-08 19:59:44 651

原创 Flink DataStream 数据源及并行度

目录1. Flink 内置数据源1.1 读取一个文件1.2 读取自定义数据1.3 读取 Socket 数据2. Flink 自定义数据源2.1 SourceFunction 实现读取 Mysql 数据2.2 ParallelSourceFunction 实现读取 Mysql 数据2.3 RichParallelSourceFunction 实现读取 Mysql 数据3. RichFunction一个 Flink 应用程序执行需要以下五个步骤:Obtain an execution environme

2021-02-18 19:36:36 848

原创 初识 Flink

初识 Flink按照惯例先介绍下官网Flink 官网1. 什么是 FlinkApache Flink是一个框架和分布式处理引擎,用于在无界和有界数据流上进行有状态计算。Flink被设计成在所有常见的集群环境中运行,以内存速度和任何规模执行计算。Flink 用于处理 Unbounded 、Bounded 数据。Unbounded 数据指的是无边界的数据,实时数据。Bounded 数据指的是有边界的数据,离线数据。...

2021-02-17 20:53:44 173

原创 Elasticsearch 复杂查询

目录需求1. 造数据2. 使用 ES 命令查询2.1 语文的最大分数是多少2.2 所有人的平均分2.3 每个科目有多少人2.4 分数大于80以上的有多少人2.5 每个科目平均分多少需求数据内容:id、name、age、subject、score求:语文的最大分数是多少所有人的平均分每个科目有多少人分数大于80以上的有多少人每个科目平均分多少1. 造数据@Testpublic void testMakeData() throws IOException { Random

2021-02-16 22:15:25 513

原创 初识 Elasticsearch

初识 Elasticsearch官网1. Elasticsearch 简介Elasticsearch 是 Elastic Stack 的核心。Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。 作为 Elastic Stack 的核心,它集中存储您的数据,帮助您发现意料之中以及意料之外的情况。优点:速度特别快。可扩展性很好。弹性很好(健壮性很强大)。灵活性(支持结构化和非结构化数据)。1.1 Elasticsea

2021-02-16 17:04:06 663

原创 初识 Kibana

初识 Kibana官网Kibana 是一个开放的用户界面,能够让您对 Elasticsearch 数据进行可视化,并让您在 Elastic Stack 中进行导航。您可以进行各种操作,从跟踪查询负载,到理解请求如何流经您的整个应用,都能轻松完成。本次部署采用的版本为 7.9.31. Kibana 部署前提需要部署 Elasticsearch2. Kibana 部署下载地址[hadoop@bigdata ~]$ cd software/[hadoop@bigdata software

2021-02-16 15:40:59 234

原创 初识ClickHouse

目录1. ClickHouse 介绍2. 部署 ClickHouse2.1 检查机器环境是否可以部署 ClickHouse2.2 部署 ClickHouse2.3 启动 ClickHouse3. 修改 ClickHouse 配置文件4. ClickHouse 默认重要的路径5. ClickHouse 基本操作5.1 创建一个数据库5.2 创建一张表5.3 插入一笔数据5.4 查询数据5.5 修改数据5.6 删除数据6. ClickHouse 常用数据类型6.1 Int 类型6.2 Float 类型6.3 D

2021-02-14 16:49:32 2318

原创 CDH 动态资源池

CDH 动态资源池CDH 的动态资源池类似于 Yarn 中的队列概念差不多现在有这样一个需求,开发环境中,就只有一套 CDH 的集群,不同的用户组使用不同的硬件资源,这时候可以通过动态资源池来实现这个功能。需求:一个 CDH 集群里面有开发人员和 BI 人员,开发人员可以使用 Yarn 中的百分之六十资源,BI 人员可以使用 CDH 中的百分之四十资源。...

2021-02-13 14:54:56 889

原创 CDH 5.16.2 部署

CDH 5.16.2 部署Cloudera 官网本次我们部署环境为 CDH 5.16.2本次部署使用的是三台 2 核 16 G 机器1. 部署的方式1.1 bin在线部署优点:通过 shell 脚本一键部署,比较方便。缺点:需要互联网在线下载安装包,如果网络抖动则不会成功。1.2 rpm 部署优点:官网推荐的,部署还算比较简单。缺点:部署 Server、Agent rpm 时候需要网络下载依赖包。1.3 tar 部署真正的离线部署,本次部署就是采用 tar 部署。2

2021-02-10 14:42:04 1446 3

原创 Phoenix 二级索引

Phoenix 二级索引1. 什么是 Phoenix 的二级索引二级索引是从主键访问数据的正交方式。Hbase中有一个按照字典排序的主键Rowkey作为单一的索引。不按照Rowkey去读取记录都要遍历整张表,然后按照你指定的过滤条件过滤。通过二级索引,索引的列或表达式形成一个备用行键,以允许沿着这个新轴进行点查找和范围扫描。2. Phoenix 中的盐表Phoenix 中的盐表其本质就是类似于 HBase RowKey 盐表一样,Phoenix 通过指定主键以及 salt_buckets ,

2021-02-09 11:39:54 869

原创 Phoenix 入门基础

目录1. 部署 Phoenix1.1 部署前提1.2 下载并解压 Phoenix1.3 重新部署 HBase1.4 启动 PHoenix2. Phoenix 数据类型3. Phoenix 常用语法3.1 创建一个 DataBase3.2 创建表3.3 插入数据3.4 查询数据3.5 删除数据3.6 删除表Phoenix 官网Phoenix是构建在HBase上的一个SQL层,能让我们用标准的JDBC APIs而不是HBase客户端APIs来创建表,插入数据和对HBase数据进行查询。Phoenix完全使

2021-02-08 14:54:42 618

原创 Hbase 进阶

Hbase 进阶HBase 1.4 参数地址1. HBase MemStore Flush1.1 MemStore 概述之前给大家简单介绍了 MemStore,这里需要介绍 MemStore 的 Flush,再介绍一下 MemStore。在 HBase 中,Region是最小的数据服务单元,一个表是由一个或者多个 Region 组成的。在 Region 中又根据 ColumnFamily (列簇)的数量分为一个或者多个 Store,一个ColumnFamily 对应一个 Store。每个 Sto

2021-02-05 14:02:18 656

原创 Hbase 的基础入门

Hbase 的基础入门HBase 官网本次安装部署的是 cdh 5.16.2 系列1. HBase 部署HBase 下载地址1.1 HBase 部署前提需要部署 Hadoop,HBase 的数据最终存储在 HDFS 上面需要部署Zookeeper,HBase 的元数据存储在 Zookeeper 上面1.2 HBase 下载以及修改配置文件[root@bigdatatest01 ~]# cd software/[root@bigdatatest01 software]# wget

2021-02-02 14:32:15 822

原创 Kafka--API使用以及优化

目录1. Kafka Producer API1.1 创建一个Topic1.2 启动一个测试 Topic 的消费者1.3 Kafka Producer API2. 查看Kafka 数据目录里面的数据3. Kafka 参数调优3.1 Kafka Broker 参数3.2 Kafka Producer 参数3.3 Kafka Consumer 参数1. Kafka Producer APIKafka 一般在大数据中是作为流式处理中的消息中间件使用的,数据生产者一般为:1) Canal/Maxwell(My

2021-01-30 17:00:55 397 4

原创 初识Scalikejdbc

初识Scalikejdbc官网ScalikeJDBC 是一款给 Scala 开发者使用的简洁 DB 访问类库,它是基于 SQL 的,使用者只需要关注 SQL 逻辑的编写,所有的数据库操作都交给 ScalikeJDBC。这个类库内置包含了JDBC API,并且给用户提供了简单易用并且非常灵活的 API。并且,QueryDSL(通用查询查询框架)使你的代码类型安全的并且可重复使用。我们可以在生产环境大胆地使用这款 DB 访问类库。本次使用的 Scala 版本为 2.12.101. POM 中

2021-01-28 11:00:27 163

原创 Scala--隐式转换、读取文件及控制台数据、泛型

目录1. 隐式转换1.1 两个类之间的隐式转换1.2 隐式参数1.3 隐式转换作用域2. 读取文件数据3. 读取控制台数据1. 隐式转换1.1 两个类之间的隐式转换在日常工作中,在引用其他 jar 的时候,可能会出现当前 jar 不能满足当前的业务需求,希望开发一些新的 API 来进行操作,如果是自己公司开发的 jar 还好,但是可能会遇到无法修改的 jar,这时候可以使用 Scala 中的隐式转换。两个类之前的隐式转换,我们可以理解成 简单的类转换成了加强的类,加强的类不仅有简单的类的功能

2021-01-27 22:08:13 276

原创 Kafka简介以及部署

Kafka简介以及部署Kafka 官网1. Kafka 介绍1.1 什么是KafkaKafka是一个分布式消息队列。Kafka对消息保存时根据Topic进行归类,发送消息者称为Producer,消息接受者称为Consumer,此外kafka集群有多个kafka实例组成,每个实例(server)称为broker。无论是kafka集群,还是consumer都依赖于Zookeeper集群保存一些meta信息,来保证系统可用性。1.2 Kafka 优点解耦:在项目启动之初来预测将来项目会碰到什么

2021-01-27 14:44:23 587

原创 Scala--函数式编程

Scala–函数式编程在介绍函数式编程之前需要介绍下 Scala 的 可变集合(mutable)、不可变集合(immutable)mutableimmutable

2021-01-25 18:17:17 742

原创 Scala--面向对象

目录1. 什么是面向对象2. Scala class的使用2.1 创建一个简单的类2.2 在Linux上面进行编译2.3 反编译Class2.4 SimpleClassApp Code3. 构造器的使用4. 继承的使用5. 抽象类6. Trait7. Case Class8. Class 和 Object9. Case Class 和 Case Object1. 什么是面向对象面向对象(Object Oriented)是软件开发方法,一种编程范式,面向对象是一种对现实世界理解和抽象的方法,是计算机编程

2021-01-25 17:04:13 365

原创 Scala基础学习

目录1. 什么是Scala2. 为什么要学习Scala3. Scala 环境搭建3.1 Scala Linux环境搭建3.1.1 Scala下载以及安装3.1.2 Scala环境变量3.1.3 检查环境变量是否生效4. Scala基础语法4.1 数据类型4.2 声明变量4.3 IF判断4.4 FOR循环4.5 While循环4.6 方法官网1. 什么是ScalaScala(Scalable Language)是一种多范式的编程语言,其设计的初衷是要集成面向对象编程和函数式编程的各种特性。Sca

2021-01-19 20:56:51 119

原创 Zookeeper简介以及部署

目录1. Zookeeper介绍2. Zookeeper架构2.1 Zookeeper--选举机制3. Zookeeper单节点部署4. Zookeeper分布式部署3. Zookeeper Shell常用命令3.1 创建节点3.2 查看子节点3.3 得到节点数据3.4 删除节点3.5 添加监听器4. Zookeeper 代码4.1 增加POM文件4.2 ZookeeperUtils4.3 ZookeeperUtilsTest5 Curator 代码5.1 增加POM文件5.2 CuratorUtils5.

2021-01-18 17:06:07 256

原创 Hive--桶表

目录1. 为什么要使用桶表???2. 桶表分桶规则3. 桶表的创建3.1 DLL3.2 数据3.3 DML3.4 查看桶表里面的数据3.5 临时表创建并加载数据3.6 把临时表的数据加载到桶表里面4. 桶表的查询4.1 桶表查询全表的数据4.2 桶表查看第一个桶里面的数据4.3 查看第二个桶里面的数据4.4 查看第三个桶里面的数据4.5 查看桶表固定行数据4.6 桶表查询语法4.7 其他查询5 桶表、分区表的区别6 两个桶表之间的Join6.1 year 桶表创建并加载数据6.2 两个桶表Join1. 为

2021-01-13 18:07:30 1767

原创 Hive--执行计划、数据倾斜解决方案

Hive–执行计划、数据倾斜解决方案1 Hive–执行计划未完待续。。。。

2020-12-18 11:36:14 520

原创 Hive--函数、窗口函数

Hive–函数、窗口函数目录Hive--函数、窗口函数1 Hive--函数1.1 Hive 常用函数1.1.1 判空函数:nvl1.2 concat/concat_ws1.3 case when/if1.4 Hive--WC1.5 Hive--列转行1.6 Hive--行转列2 Hive--窗口函数2.1 LEAD/LAG2.2 FIRST_VALUE/LAST_VALUE2.3 COUNT、SUM、MIN、MAX、AVG2.4 RANK、ROW_NUMBER、DENSE_RANK、CUME_DIST、P

2020-12-18 11:29:58 520

原创 Hive--参数优化、Map、Reduce Task个数优化

Hive--优化Hive中的执行引擎目前支持:MapReduce、Spark、Tez 本文设定的执行引擎为MapReduce1 Hive--参数优化Hive官网--参数1.1 hive.fetch.task.conversionDefault Value: minimal in Hive 0.10.0 through 0.13.1, more in Hive 0.14.0 and la...

2020-12-16 14:31:11 1801

原创 Hive--HiveServer2 命令行代码连接、Hive常用命令、自定义UDF函数、排序

Hive--HiveServer2 命令行代码连接、Hive常用命令、自定义UDF函数、排序以下所说的都是针对 Hive 为 1.1.0-cdh5.16.2版本1 Hive--HiveServer2 命令行代码连接1.1 配置HiveServer2 WEB 参数HiveServer2是一个服务端,开启之后可以通过JDBC连接 还对应一个WEB服务,开启WEB服务可以看到当前有哪些Session进行连接,以及执行了哪些语句等详细信息 开启H...

2020-12-15 20:17:54 1497

原创 MapReduce--Shuffle 详解、压缩使用、数据倾斜解决方案、参数调优

MapReduce--Shuffle 详解、压缩、数据倾斜解决方案

2020-12-14 15:14:28 608

原创 Hadoop HA 详解

Hadoop HA 详解

2020-12-14 10:30:32 551

原创 Shell 编程

Shell 编程Shell 是由Linux命令构成的,一个shell脚本是从上到下执行Linux命令1 脚本规范脚本第一行需要写上脚本的解释器:#!/bin/bash 脚本的名称以.sh作为后缀 执行脚本的时候使用sh + 脚本文件地址,来执行 sh 相当于指定了解释器:/usr/bin/sh[root@bigdatatest01 shell]# vim demo.sh #!/...

2020-12-11 10:52:56 180

原创 Socket 编程

Socket 编程1 SocketSocket通信分为服务端、客户端 服务端:接收客户端发送的数据--request,然后进行数据处理,最后把处理结果返回给客户端--response 客户端:把数据发送给服务端,然后经过服务端处理,并接受服务端数据 BIO:阻塞的IO2 Socket 通信2.1 需求1 建立一个可以进行通信的Socket服务端、客户端2 客户端和服务端可以持续通信3 客户端输出exit则退出...

2020-12-10 17:40:12 114

原创 MapReduce--MapJoin、ReduceJoin、TopN

MapReduce--MapJoin、ReduceJoin、TopN1. MapReduce JoinJoin分为两种:一种是Map Join,一种是Reduce Join MapJoin 指的是在Map端进行Join,没有Reduce,所以没有Shuffle ReduceJoin 指的是在Reduce端进行Join,存在Reduce,存在Shuffle 在大数据领域经常听到数据倾斜这个词,数据倾斜的原因是由于某个Key的数量过...

2020-12-09 18:29:21 180

原创 MapReduce--自定义全局Sort、分区Sort

MapReduce--自定义全局Sort、分区Sort1 SortSort发生在Map之后Reduce之前 数据经过MapRedcue处理,首先经过Map阶段,然后经过Shuffle阶段 在Shuffle阶段,会对数据进行分割(spilt)、分区(partitioner)、排序(sort)、合并(combine)、压缩(compress)、分组(group)之后输出到Reduce端2 自定义 MapReduce 全排2.1 需求...

2020-12-09 14:49:06 202

原创 Java SE IO详解

Java SE IO详解IO可以分为以下两种 字节流 InputStream OutputStream 字符流 Reader Writer 1. 字节流读取数据:InputStream/** * This abstract class is the superclass of all classes representing * an input stream of bytes. *...

2020-12-08 17:56:07 432

原创 MapReduce--OutputFormat详解以及实现自定义OutputFormat

MapReduce--OutputFormat详解以及实现自定义OutputFormat1. OutputFormat源代码解析MapReuce OutputFormat 输出一般输出到:文件里面或者数据库中,今天就对常用的OutputFormat来分析一下 OutputFormat中的源代码/** * <code>OutputFormat</code> describes the output-specification for a ...

2020-12-08 11:17:13 556

原创 MapReduce--partitioner、combiner 详解以及实现自定义partitioner

MapReduce partitioner 详解未完待续....

2020-12-07 15:19:06 418

原创 MapReduce--InputFormat 源码解析以及常用的类型

MapReduce--InputFormat 源码解析以及常用的类型1 MapReduce 源代码读取数据如何分片waitForCompletion{ submit{ submitter.submitJobInternal(Job.this, cluster){ // 来判断读取目标文件需要设置多少分片 int maps = writeSplits(job, submitJobDir...

2020-12-04 14:20:18 262

原创 MapReduce build-in 数据类型以及自定义数据类型

MapReduce build-in 数据类型以及自定义数据类型1 MapReduce build-in 数据类型MapReduce 作为一个分布式计算框架,数据类型则需要需要实现序列化,Java实现序列化,需要implements Serializable,MapReduce 定了一个自己的基础的数据类型 -- Writable,是可以实现序列化的BooleanWritable:Booleanpublic class BooleanWritable...

2020-12-03 10:56:43 182

空空如也

空空如也

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

TA关注的人

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