自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 HDFS文件误删怎么办,一招教你恢复回来,再也不用担心删库跑路了

本文基于 Hadoop3.1.2版本讲解HDFS 文件删除过程下面是hdfs删除路径的方法,源码路径org.apache.hadoop.hdfs.server.namenode.FSNamesystem.delete()/** * Remove the indicated file from namespace. * * @see ClientProtocol#delete(String, boolean) for detailed description and .

2021-09-25 14:20:32 3259 30

原创 大数据—— Spark 优化

文章目录1 Spark参数优化1.1 num-executors1.2 executor-memory1.3 executor-cores1.4 driver-memory1.5 spark.default.parallelism1.6 spark.shuffle.memoryFraction1.7 spark.storage.memoryFraction1.8 资源参考示例2 RDD优化2.1 RDD 复用2.2 RDD 持久化2.3 RDD 过滤3 算子优化4 Shuffle优化5 数据倾斜优化5.1

2021-09-18 23:15:46 1685 29

原创 flink中通过jdbc查询结果集使用 flink table api 创建临时视图

【代码】flink中通过jdbc查询结果集使用 flink table api 创建临时视图。

2023-03-16 11:28:42 426 1

原创 Yarn参数优化

YARN自从hadoop2.0之后, 我们可以使用apache yarn 来对集群资源进行管理。yarn把可以把资源(内存,CPU)以Container的方式进行划分隔离。YARN会管理集群中所有机器的可用计算资源. 基于这些资源YARN会调度应用(比如MapReduce)发来的资源请求, 然后YARN会通过分配Container来给每个应用提供处理能力, Container(容器)是YARN中处理能力的基本单元, 是对内存, CPU等的封装(容器)。ResourceManager:以下简称RM。YAR

2021-10-12 16:21:40 1348 9

原创 大数据——MySQL 知识点整理

1. 什么是事务,事务的特性事务: 指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。简单的说,某一业务需要多条增删改操作且只有所有操作完成才算完成,否则失败。应用场景: 订单支付、银行转账使用:MySQL 中通常与 procedure 结合使用 start/begin transaction特性:ACID原子性 一致性 隔离性 持久性2. MySQL 中事务的隔离级别有哪些隔离级...

2021-09-23 19:43:37 578 1

原创 使用 Docker 搭建离线数仓环境

文章目录一、Docker安装1.1 Centos Docker安装1.2 Ubuntu Docker安装【推荐】1.3 MacOs Docker安装1.4 Windows Docker安装【不推荐】二、容器准备2.1 拉取镜像2.2 启动并创建容器2.3 进入容器三、环境准备3.1 安装必要软件3.2 配置SSH免密登录3.3 设置时区3.4 关闭防火墙3.5 时间同步、静态ip、主机映射四、MySQL安装4.1 上传解压安装包4.2 安装必要依赖4.3 安装服务端和客户端4.4 启动并配置MySQL五、安

2021-09-20 08:39:57 1427 15

原创 如何在Hive中创建自定义函数UDF及通过Impala同步元数据重用UDF的jar文件

简介如何在Hive中创建自定义函数UDF及使用 如何在Impala中使用Hive的自定义函数 UDF函数开发 使用Intellij工具开发Hive的UDF函数,进行编译准备工作创建 Maven 工程,导入如下依赖:<dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-exec</artifactId> <!--...

2021-09-17 07:51:17 905 17

原创 大数据—— Spark Core 知识点整理

1. Spark 和 Hadoop 相比有什么优势运行速度快:Spark拥有DAG执行引擎,支持在内存中对数据进行迭代计算。官方提供的数据表明,如果数据由磁盘读取,速度是Hadoop MapReduce的10倍以上,如果数据从内存中读取,速度可以高达100多倍。适用场景广泛:大数据分析统计,实时数据处理,图计算及机器学习易用性:编写简单,支持80种以上的高级算子,支持多种语言,数据源丰富,可部署在多种集群中容错性高:...

2021-09-14 10:30:50 1168 43

原创 大数据—— Scala 知识点整理

1. Scala 语言的优点Scala 是一门多范式(multi-paradigm)的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性 Scala 运行在 Java 虚拟机上,并兼容现有的 Java 程序 Scala 源代码被变编译成 Java 字节码,所以它可以运行于 JVM之上,并可以调用现有的 Java 类库 作为流行的开源大数据内存计算引擎 Spark 的源码编程语言,Spark 有着良好的性能优势 Scala 将成为未来大数据处理的主流语言2. Scala 中的闭包.

2021-09-13 07:57:53 830 44

原创 大数据—— 使用 Durid 进行 JDBC 连接

目录一、Druid简介二、Druid的优点三、使用 Durid 进行 JDBC MySQL 的连接3.1 添加 Druid 的依赖、数据库驱动3.2 创建 JDBC 工具类3.3 添加配置参数3.4 测试代码一、Druid简介Druid是阿里开源的数据库连接池,作为后起之秀,性能比dbcp、c3p0更高,使用也越来越广泛。当然Druid不仅仅是一个连接池,还有很多其他的功能。二、Druid的优点高性能。性能比dbcp、c3p0高很多。 只要是...

2021-09-12 10:22:55 3720 39

原创 大数据—— HBase 知识点整理

目录1. 什么是 HBase2. 大数据中为何要使用 HBase(HBase 在大数据中的优势)3. HBase 与传统的关系数据库的区别4. RowKey 的设计原则5. RowKey 如何设计可以避免热点问题6. HRegionServer 架构7.HBase 性能优化方法总结表的设计写表操作读表操作8. Hbase读写流程hbase的读操作:hbase的写操作:9. HBase 物理存储原理10. HBase 中的 HFile 什么时候要合.

2021-09-11 20:11:51 3752 33

原创 大数据—— Hive 知识点整理

1. Hive 中内部表和外部表的区别以及使用场景内部表:与数据库中的表在概念上类似 每一个内部表在 hive 中都有一个相应的目录存储数据 所有的内部表数据都保存在这个目录上 删除数据时,元数据和数据都会被删除 应用场景:数据分析的中间表可以使用内部表,方便对表进行管理外部表:创建时需要使用 external 修饰,指向已经在 HDFS 中存在的数据,可以创建 Partition 它和内部表在元数据的组织上是相同的,都是存储在关系数据库中 外部表只有一个过程,加载数据和创建表同时完成

2021-09-09 00:12:07 5001 26

原创 大数据—— Clickhouse 介绍与引擎的使用

一、Clickhouse 介绍1.1 Clickhouse 介绍ClickHouse 是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。最初 是一款名为 Yandex.Metrica 的产品,主要用于 WEB 流量分析。ClickHouse 的全称是 Click Stream,Data WareHouse,简称 ClickHouse。1.2 Clickhouse 的分布式架构1.3 Clickhouse 的特性(1)真正的面向列的DBMS在一个真正的...

2021-09-08 12:54:27 6506 27

原创 大数据——Hadoop 知识点整理

1. 大数据的特点(4V特征)Volume(大数据量):90% 的数据是过去两年产生 Velocity(速度快):数据增长速度快,时效性高 Variety(多样化):数据种类和来源多样化 结构化数据、半结构化数据、非结构化数据 Value(价值密度低):需挖掘获取数据价值2. 谈谈 Hadoop 的优缺点优点:高扩展性:在集群间分配任务数据,可方便的扩展数以千计的节点 高可靠性:Hadoop底层维护多个数据副本 高容错性:Hadoop框架能够自动将失败的任务重新分配 低成本:Had

2021-09-07 19:46:26 8938 38

原创 大数据——Flink 知识点整理

1. Flink 的特点Flink 具有高吞吐、低延时、高性能的特点 支持基于时间语义、窗口及状态编程 同时还具备了 checkpoint 和 savepoint 的功能2. Flink 和 SparkStreaming 的对比Flink支持实时流处理,而 SparkStreaming 是通过微批处理的方式来实现实时处理,牺牲了吞吐量 Flink 支持状态编程,而 SparkStreaming 不支持 Flink:JobManager、TaskManager SparkStreaming.

2021-09-04 16:56:25 10928 36

原创 大数据—— 使用 MapReduce 实现wordcount

一、创建 maven 工程并导入依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/x

2021-09-04 10:58:32 9870 1

原创 大数据—— Flink 的优化

一、Flink内存优化大多数大数据框架都是基于JVM运行,如Hadoop、Spark、Storm,但是基于JVM的内存管理机制往往存在着类似于内存溢出等问题,主要是因为创建的对象过多超过了JVM最大堆内存限制,却没有被有效的回收掉。基于此,Flink自身实现了自己的内存管理。Flink 内存配置Flink JVM 进程的进程总内存(Total Process Memory)包含了由 Flink 应用使用的内存(Flink 总内存)以及由运行 Flink 的 JVM...

2021-09-02 21:34:50 14455 20

原创 大数据——Flink Broadcast State 广播状态

一、BroadcastState 的介绍广播状态(Broadcast State)是 Operator State 的一种特殊类型。如果我们需要将配置 、规则等低吞吐事件流广播到下游所有 Task 时,就可以使用 BroadcastState。下游的 Task 接收这些配置、规则并保存为 BroadcastState,所有Task 中的状态保持一致,作用于另一个数据流的计算中。简单理解:一个低吞吐量流包含一组规则,我们想对来自另一个流的所有元素基于此规则进行评估。场景:动态更新计算规则。广播状态.

2021-08-31 23:24:56 12177 12

原创 大数据—— Flink 状态后端(State Backends)

由于有效的状态访问对于处理数据的低延迟只管重要,因此每个并行任务都会在本地维护其状态,以确保快速的状态访问。状态的存储、访问以及维护,有一个可插入的组件决定,这个组件就叫做状态后端(State Backends)状态后端主要负责两件事:本地的状态管理 将检查点(checkpoint)状态写入远程存储Flink 提供的状态后端:MemoryStateBackend:内存级的状态后端,会将键控状态作为内存中的对象进行管理,将它们存储在 TaskManager 的 JVM 堆上,而将 chec

2021-08-28 00:06:53 11614 2

原创 大数据——Flink 时间语义

目录一、时间语义1.1 三种时间概念1.1.1 ProcessTime 在代码中的使用1.1.2 EventTime 在代码中的使用1.1.3 关于窗口起始时间的计算值二、对事件的处理2.1 有序事件2.2 乱序事件2.3 指定 Timestamps 与生成 Watermarks2.4 使用WatermarkStrategy 工具类指定时间戳和Watermark2.5 自定义指定 Timestamps 和 Watermarks2.6 对迟到数据的处理...

2021-08-26 23:13:48 11742

原创 大数据——Flink dataStream 中窗口函数的使用

一、窗口类型Keyed 和 Non-Keyed上游算子是 KeyStream 类型,为 Keyed 窗口 上游算子不是 KeyStream 类型,为 Non-Keyed 窗口Keyed Windows使用window算子进行窗口定义No-Keyed Windows使用windowAll算子进行窗口定义数量、时间的窗口CountWindow 按照知道的数据条数生成一个 Window,与时间无关 滚动窗口(Tumbling Window)、滑动窗口(Sliding Window)

2021-08-26 21:17:56 11371

原创 大数据——Flink 侧输出流练习(将集合中的整数按奇偶写入不同的流中)

代码如下package cn.kgc.transformimport org.apache.flink.streaming.api.functions.ProcessFunctionimport org.apache.flink.streaming.api.scala._import org.apache.flink.util.Collectorobject SideOutputStream1 { def main(args: Array[String]): Unit = {

2021-08-25 23:09:12 11131 2

原创 大数据——Flink 基础练习(将 Kafka 接收到的单词首字母大写后写回 Kafka 中)

一、创建 kafka_resource 和 kafka_sink 主题#创建kafka_source主题kafka-topics.sh --create --zookeeper master:2181 --topic kafka_source --partitions 2 --replication-factor 1#创建kafka_sink主题kafka-topics.sh --create --zookeeper master:2181 --topic kafka_sink --parti

2021-08-25 22:45:08 11008 2

原创 大数据——Flink的KafkaSource和自定义Source

一、KafkaSource在流式处理过程中,Kafka 和 Flink 的整合是许多公司所使用的架构。而 Flink 和 Kafka 的整合也非常友好,代码非常简单,实际开发中使用较多package cn.kgc.sourceimport java.util.Propertiesimport org.apache.flink.api.common.serialization.SimpleStringSchemaimport org.apache.flink.streaming.api.s

2021-08-25 20:30:49 13368

原创 大数据——Flink 入门程序(wordcount)

目录一、编程模型二、编程步骤三、DataStream 实时 wordcount​四、DataSet 离线wordcount一、编程模型Flink提供了不同级别的编程抽象,通过调用抽象的数据集调用算子构建DataFlow就可以实现对分布式的数据进行流式计算和离线计算,DataSet是批处理的抽象数据集,DataStream是流式计算的抽象数据集,他们的方法都分别为Source、Transformation、SinkSource主要负责数据的读取 Transfor...

2021-08-24 17:33:12 11706 10

原创 大数据——Flink 中的角色及安装部署

一、Flink 中的角色Flink 也遵循主从原则,主节点为JobManager,从节点为TaskManager1.1. Client将任务提交到JobManager,并和JobManager进行任务交互获取任务执行状态。1.2. JobManager负责任务的调度和资源的管理。负责Checkpoint的协调过程。获取到客户端的任务后,会根据集群中 TaskManager 上 TaskSlot 的使用情况, 为提交的任务分配相应的 TaskSlots 资源,并命令 Task.

2021-08-24 14:37:23 11427

原创 大数据——WebSocket埋点实现离线+实时数据处理

一、WebSocket概述WebSocket是HTML5开始提供的一种在单个TCP连接上进行全双工通讯的协议。能更好的节省服务器资源和带宽,并且能够更实时地进行通讯。 WebSocket使得客户端和服务器之间的数据缓缓变得更加简单,允许服务端主动向客户端推送数据。 在WebSocketAPI中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。 浏览器通过JavaScript向服务器发出建立We...

2021-08-23 20:59:44 11939 2

原创 大数据——大数据默认端口号列表

一、hadoop端口号介绍应用 hadoop2.x hadoop3.x NameNode 8020 9820 NameNode HTTP UI 50070 9870 NameNode HTTPS UI 50470 9871 SecondaryNameNode HTTP 50091 9869 SecondaryNameNode HTTP UI 50090 9868 DataNode IPC 50020

2021-08-22 18:53:17 11346 5

原创 大数据——Java 知识点整理

1. JDK 和 JRE 有什么区别?JDK:Java Development Kit 的简称,java开发工具包,提供了java的开发环境和运行环境。 JRE:Java Runtime Environment 的简称,java运行环境,为java的运行提供了所需环境。具体来说,JDK其实包含了JRE,同时还包含了编译java源码的编译器javac,还包含了许多java程序调试和分析的工具。要运行java程序,只需要安装JRE就可以了,如果需要编写java程序,则还需要安装JDK。2. java

2021-08-22 14:09:00 13079 7

原创 Java——常见的几种排序算法

一、冒泡排序每次冒泡过程都是从数列的第一个元素开始,然后依次和剩余的元素进行比较, 跟列队一样, 从左到右两两相邻的元素比大小, 高的就和低的换一下位置. 最后最高(值最大)的肯定就排到后面了.但是这只是把最高的排到后面了, 还得找出第二高的, 于是又从第一个开始两两比较, 高的往后站, 然后第二高的也到后面了.然后是第三高的再往后排…public class JavaSort { public static void main(String[] args) { .

2021-08-22 00:22:37 10961

原创 大数据——Flink Maven工程依赖

<inceptionYear>2008</inceptionYear> <properties> <scala.version>2.7.0</scala.version> <scala.version>2.12.10</scala.version> <scala.binary.version>2.12</scala.binary.version> <h...

2021-08-21 20:53:25 11960

原创 大数据——Hadoop集群调优

一、HDFS多目录存储1.1 生产环境服务器磁盘情况1.2 在hdfs-site.xml文件中配置多个目录,需要注意新挂载磁盘的访问权限问题。 HDFS中DataNode节点保存数据的路径由dfs.datanode.data.dir参数决定,其默认值为file://${hadoop.tmp.dir}/dfs/data,若服务器中有多个磁盘,必须对改参数进行修改。如服务器磁盘如上图所示,则该参数应修改为如下的值。<property> <name&g...

2021-08-21 11:39:15 11787 3

原创 Java连接Mysql(JDBC)

目录一、创建Java Maven工程二、加载驱动三、创建连接四、预编译SQL语句五、返回结果集六、遍历结果集输出附录:完整代码一、创建Java Maven工程导入JDBC依赖: <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version

2021-08-18 22:00:17 10779

原创 大数据——Kylin工具介绍

目录一、Apache Kylin概述二、Apache Kylin特点三、Apache Kylin基本概念四、Apache Kylin架构五、Apache Kylin环境部署六、Apache Kylin使用一、Apache Kylin概述Apache Kylin是一个开源的、分布式的分析型数据仓库 Apache Kylin提供Hadoop/Spark之上的SQL查询接口及多维分析(OLAP)能力 Apache Kylin支持超大规模数据 Apache Kylin能在亚秒内

2021-08-18 20:52:34 11001

原创 大数据——Impala工具使用

一、Impala概述Impala是Cloudera公司推出,提供对HDFS、Hbase数据的高性能、低延迟的交互式SQL查询功能。基于Hive使用内存计算,兼顾数据仓库、具有实时、批处理、多并发等优点与Apache Hive有相同的元数据、SQL语法、ODBC驱动、用户界面 能直接对存储在HDFS和HBase中的数据提供快速、交互式SQL查询是CDH平台首选的PB级大数据实时查询分析引擎二、Impala优点熟悉的SQL接口 能够在Apache Hadoop中查询大量数据 集群环境

2021-08-17 22:55:52 16888

原创 Log4j使用教程

日志是应用软件中不可缺少的部分,Apache的开源项目log4j是一个功能强大的日志组件,提供方便的日志记录。在apache网站:jakarta.apache.org/log4j可以免费下载到Log4j最新版本的软件包。Maven工程中依赖如下:<dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.

2021-08-16 20:58:55 12418

原创 大数据——访问docker没有映射的端口号

方案1:将需要访问的端口号修改为已映射的端口号方案2:SSH隧道Mobxtermxshell

2021-08-11 20:46:43 11397

原创 大数据——任务调度器Azkaban介绍及安装

一、什么是Azkaban1.由Linkedln创建,用于运行Hadoop作业2.批处理工作流作业调度程序3.解决排序问题4.提供易于使用的Web用户界面来维护和跟踪工作流程二、常见的工作流调度器CrontabLinux系统自带,可以用来进行定时调度Oozie管理Hdoop作业(job)的工作流程的重量级调度管理系统Azkaban为了解决Hadoop的任务...

2021-08-11 20:31:24 11510

原创 大数据——Hive内外表区别、分区表、分桶表的使用

一、Hive内部表和外部表概念?区别?最适合的应用场景?首先弄清楚什么是元数据和表数据:元数据就是表的属性数据,表的名字,列信息,分区等标的属性信息,它是存放在RMDBS传统数据库中的(如,mysql)。表数据就是表中成千上万条数据了。hive的存储过程:启动hive时,会初始化hive,这时会在mysql中生成大约36张表(后续随着业务的复杂会增加),然后创建表,会在mysql中存放这个表的信息(不是以表的形式存在的,而是把表的属性以数据的形式放在mysql中,这样在hive中使用sql命令一样是

2021-08-10 16:59:13 11663

原创 大数据——Sqoop增量导入shell脚本

应用环境:在实际业务中,表中数据量大且历史数据不会被修改,成交订单数据,可以采用增量表导入#!/bin/bash#传入增量导入的起始日期,若不传,则默认为前一天args=$1dt=if [ ${#args} == 0 ] then dt=`date -d '1 days ago' +%Y%m%d` else dt=$1fisqoop job --delete bap_user_ordersqoop job --create bap_user_or.

2021-08-08 12:08:31 11162

空空如也

空空如也

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

TA关注的人

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