自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

十二

热爱大数据,坚持成长。

  • 博客(42)
  • 资源 (1)
  • 收藏
  • 关注

原创 Flink CDC:io.debezium.connector.mysql.SnapshotReader] - Can‘t call rollback when autocommit=true

项目场景:Flink CDC实时同步Mysql数据问题描述:[io.debezium.connector.mysql.SnapshotReader] - Failed due to error: Aborting snapshot due to error when last running ‘UNLOCK TABLES’: Can’t call rollback when autocommit=true:2022-02-26 16:31:30,002 ERROR [io.debezium.c

2022-02-26 17:38:06 1215 2

原创 【Flink从入门到精通 05】Source&Sink

Flink用于处理有状态的流式计算,需要对Source端的数据进行加工处理,然后写入到Sink端,下图展示了在Flink中数据所经历的过程,今天就根据这张图分别给大家分享下。01 EnvironmentFlink所有的程序都从这一步开始,只有创建了执行环境,才能开始下一步的编写。可以使用如下方式获取运行环境:(1)getExecutionEnvironment创建一个执行环境,表示当前执行程序的上下文如果程序是独立调用的,则此方法返回本地执行环境如果从命令行客户端调用程序以提交到集群,则此方

2022-02-20 15:32:53 2851

原创 【Flink从入门到精通 04】状态管理与容错机制

在关于Flink的流式处理概念一文中,我们提到了Flink是有状态的流式处理框架,今天我们就来好好聊一聊状态。01 什么是状态先来复习一下,什么是状态?来思考一个无状态计算的场景:无状态计算案例:消费延迟计算消息队列一个生产者持续写入多个消费者组分别读取如何实时统计每个消费者落后多少条数据?观察数据样例,可以发现,每条消息中包含了生产者、消费者的信息,通过将消费者的信息与生产者对比,即可判断出每个消费者落后的数据。数据样例:输入:{ "timestamp": 1555635

2022-02-20 11:17:32 775

原创 【Flink从入门到精通 03】运行时架构

知其然,知其所以然,通过之前的文章,我们已然了解了如何编写一个Flink程序并提交运行,那么这个程序是如何在集群中运行的呢?今天,就给大家分享下Flink的运行时架构。01 运行时组件观察上图,可以看到,Flink作业在执行过程中会涉及到作业管理、资源管理、任务管理、分发器等部分。我们来逐个分析:(1)作业管理器(JobManager)作业管理器是控制应用程序的主进程。通常涉及以下结构:作业图(JobGraph)逻辑数据流图(logical dataflow graph)类、库及其他

2022-02-20 11:14:01 1023

原创 【Flink从入门到精通 02】DataStream API

在之前的文章中,我们介绍了Flink的安装部署、基础概念,今天我们来一起学习Flink的核心之一DataStream API。01 分布式流处理基础上图中,我们将整个代码分为了三个部分,即分布式流处理的基本模型:SourceTransformationSink从而,我们可以给出Flink编程框架:// 1. 获取运行环境final StreamExecutionEnvironment env = StreamExecutionEnvironment.ge

2022-02-20 11:10:28 1132

原创 【Flink从入门到精通 01】流式处理概念

“Flink中流式处理的概念是实时计算的基石,也是你踏入Flink的第一步。”今天和大家一起聊聊流式处理的通用概念。如果还不清楚这些概念的同学,今天的分享一定会给你带来收获的。关于Flink,之前的《Flink入门安装》可以先看看。01 Flink 是什么在讲流式处理的通用概念之前,我们先引用Flink官网的一段话:Apache Flink is a framework and distributed processing engine for stateful computations ov.

2022-02-20 11:03:41 1126

原创 FlinkTaskManager启动失败:Error: VM option ‘UseG1GC‘ is experimental and must be enabled via -XX:+Unlock

Flink TaskManager启动失败:Error: VM option 'UseG1GC' is experimental and must be enabled via -XX:+UnlockExperimentalVMOptions.

2022-01-16 16:37:50 2817 1

翻译 【学会了学会了】Flink官网翻译——Table API实时报表

Table API实现实时报表(Real Time Reporting with the Table API)Apache Flink offers a Table API as a unified, relational API for batch and stream processing, i.e., queries are executed with the same semantics on unbounded, real-time streams or bounded, batch data

2022-01-10 05:00:00 504

翻译 【学会了学会了】Flink官网翻译——Standalone以及YARN部署

flink官网翻译

2022-01-04 16:37:44 903

原创 【Flink从入门到精通 00】流式处理概念Mac上搭建Flink 1.14.0环境并编写Demo

Mac上搭建Flink 1.14.0环境并编写Demo1. 准备环境这里主要介绍Mac系统下的环境搭建,其他操作系统可直接查看官网或者我个人的翻译博客1.1 安装并查看Java版本号Flink要求Java版本为Java8或Java11及以上。java -version1.2 安装Flink查看Flink信息brew info apache-flink安装Flinkbrew install apache-flink1.3 检查安装flink

2022-01-01 13:03:57 2415

原创 Bug日记:No compiler is provided in this environment.Perhaps you are running on a JRE rather than a JDK

Bug描述:原因:JDK环境没有正确加载。解决方案:检查Java环境java -version重新加载配置在idea的终端界面运行:source ~/.bash_profile重新打包,问题解决啦

2022-01-01 12:12:04 164

翻译 【学会了学会了】Flink官网翻译——Flink集群部署概览

Flink集群部署模式概览

2021-12-27 17:27:33 296 1

翻译 【学会了学会了】Flink官网翻译——踏出第一步(First Steps)

Flink官网安装运行翻译

2021-12-24 10:43:38 317

原创 【Bug日记—女友特别篇】ERROR 1045: Access denied for user: ‘root@localhost‘ (Using password: NO)

hello 大家好 这里是十二今天迷迷糊糊的的宝贝把Mysql的密码给忘了这可怎么办呢。。。。

2021-09-13 14:28:23 129 4

原创 【源码阅读】HDFS FileSystem的创建

HDFS Client源码阅读FileSystem的创建过程完整代码流程如图fs = FileSystem.get(uri, conf, user);通过FileSystem.get(uri,conf,user)方法获取FileSystem实例。get(uri,conf,user)方法首先验证Kerberos认证获取用户组信息调用FileSystem.get(uri,conf)获取FileSystem实例FileSystem.get(uri,conf);获取schema和授权

2021-08-25 16:14:16 377

原创 ReduceTask工作机制与MapReduce分区

ReduceTask工作机制与MapReduce分区ReduceTask工作机制copy阶段:将Map任务的结果拉取到reduce节点merge阶段:将所有Map任务的结果进行合并sort阶段:对合并后的结果进行归并排序reduce方法:对排序后的结果按key调用reduce方法ReduceTask并行度ReduceTask的数量可以手动设置:job.setNumReduceTasks(2);Tips::ReduceTask=0,表示没有Reduce阶段ReduceTask默认

2020-10-09 22:07:45 303

原创 【Hadoop】MapTask运行机制

MapTask运行机制MapTask流程Tips:Mr切片是逻辑切分,HDFS的分块是物理切分split与block是一对一的关系map阶段所有的排序都是针对key进行排序,不会针对value流程分析:TextInputFormat读取文件,并调用getSplits()函数对文件进行逻辑分片,一个split对应一个blockRecordReader读取一个split,调用一次map函数,并将结果输出到环形缓冲区缓冲区内部对结果进行分区(partition),分区规则是key的has

2020-10-07 18:15:27 218

原创 Hadoop权威指南PDF分享

Hadoop权威指南PDF分享链接:https://pan.baidu.com/s/1oF0HPcePFc2pWF29LXsO1Q提取码:tqxt如果链接失效,加我领取:yp2595809239

2020-10-06 15:59:31 3531 1

原创 官网阅读——走近Spark之QuickStart

首先,官网表明了Spark2.0之后,RDD被DataSet替代了,虽然Spark2.0仍然支持RDD的接口,但是官方强烈推荐使用DataSet。安全Spark的安全机制默认是被关闭的,所以有可能会受到攻击,但实际生产过程中,Spark集群更多的是搭建在公司内网中,不对外暴露,个人认为不开启安全机制并不影响。Spark Shell的使用SparkShell是学习SparkAPI的一种方式,同时是一款交互式的数据分析工具。官网提供了Scala和Python两种方式的例子,这里以Python为主。官网

2020-06-16 18:47:53 305

原创 mysql数据迁移:Incorrect string value: \xE7 for column

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2020-06-11 15:44:00 260

原创 java.lang.Object类源码阅读

java.lang.Object类写在前面:Object类是所有类的父类,源码中并没有很多内容,很多方法都是调用的底层c/c++函数,因此主要阅读注释。1.registerNatives()/** * static 类方法 * native 调用c/c++的函数 */ private static native void registerNatives(...

2019-11-08 19:46:11 193

原创 Hive学习(二)

【SerDe】–用于做序列化和反序列化–构建在数据存储和执行引擎之间,对两者实现解耦【Beeline】–要与HiveServer2配合使用–服务端启动hiveserver2–客户端通过beeline两种方式连接到hive–beeline -u jdbc:hive2://localhost:10000/default -n root–beelinebeeline>!conne...

2019-04-13 16:20:45 251

原创 Hive学习(一)

【metastore】——存储在Mysql中–DBS:存储hive的所有数据库的元数据–TBLS:存储hive的所有数据表的元数据【数据类型】Numeric TypesTINYINT (1-byte signed integer, from -128 to 127)SMALLINT (2-byte signed integer, from -32,768 to 32,767)INT/...

2019-04-11 17:11:11 167

原创 基础算法之二分查找

算法核心输入:一个有序的元素列表返回:查找的元素在列表中,返回位置,否则返回null每次查找中间的元素,对于一个n个元素的列表,最多log n步。(O(log n) < O(n))def binary_search(list,item): low = 0 # 用于跟踪带查找部分下界 high = len(list)-1 # 用于跟踪带...

2019-03-18 20:13:29 103

原创 基础算法之快速排序

算法核心对列表根据基准值进行分区,然后递归。找出基准值分区:小于基准值的元素和大于基准值的元素对两个分区进行快速排序def quicksort(array): # 快速排序 if len(array) < 2: # 只剩一个元素,直接返回 return array else: pivot = array[0] # 基准值 ...

2019-03-18 20:10:29 131

原创 基础算法之选择排序

算法核心从待排序列表中找出最小或者最大元素,存入新的列表,重复该操作。def findSmallest(arr): # 找到最小元素,返回索引 smallest = arr[0] # 第一个元素 smallest_index = 0 # 索引 for i in range(1,len(arr)): # 从第二个元素开始遍历 if arr[i] &...

2019-03-18 19:40:07 106

翻译 Flume官方文档阅读03

在配置文件中使用环境变量Flume能够替换配置文件中的环境变量。例如:a1.sources = r1a1.sources.r1.type = netcata1.sources.r1.bind = 0.0.0.0a1.sources.r1.port = ${NC_PORT}a1.sources.r1.channels = c1注意:目前仅适用于值,不适用于健。(仅在配置行=号的右侧)...

2019-03-18 11:40:36 195

翻译 Flume官方文档阅读02

设置设置代理Flume代理配置存储在一个本地配置文件中,这是一个遵循Java属性文件格式的文本文件,可以在一个配置文件中指定一个或多个代理的配置。配置文件中包含了一个代理的source、sink和channel属性以及它们如何连接在一起形成数据流。配置单个组件流中的每个组件(source、sink、channel)都有特定类型和实例的姓名、类型和属性集。例如,一个Avro source需要...

2019-03-17 20:53:37 141

翻译 Flume官方文档阅读01

Flume1.9用户指南介绍概述:Apache Flume是一个分布式的、可靠的、易获得的系统,用于从多个不同来源高效收集、聚合、移动大规模日志数据到一个中心化的数据仓库。Apache Flume的作用不仅仅局限在日志数据的聚合,由于数据源是可定制的,Flume可以用于大量事件数据的传输,包括网络流量数据、社交媒体生成的数据、电子邮箱数据和许多可能的数据来源。系统要求:1、JRE-1....

2019-03-15 13:52:21 409

原创 LeetCode刷题指南:旋转数组

给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。示例 1:输入: [1,2,3,4,5,6,7] 和 k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转 1 步: [7,1,2,3,4,5,6]向右旋转 2 步: [6,7,1,2,3,4,5]向右旋转 3 步: [5,6,7,1,2,3,4]示例 2:输入: [-1,-100,3,99] 和 k...

2019-03-07 12:24:42 128

原创 LeetCode刷题指南:买卖股票的最佳时机II

给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获...

2019-03-06 10:35:41 117

原创 LeetCode刷题指南:从排序数组中删除重复项

给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出新长度后面的元素。示例 2:给定 nums ...

2019-03-06 10:15:51 313

原创 LeetCode刷题指南:合并两个有序数组

给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n。你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。示例:输入:nums1 = [1,2,3,0,0,0], m = 3nums2 = [2,...

2019-03-05 15:12:20 318

原创 LeetCode刷题指南:搜索二维矩阵II

编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性:每行的元素从左到右升序排列。每列的元素从上到下升序排列。示例:现有矩阵 matrix 如下:[[1, 4, 7, 11, 15],[2, 5, 8, 12, 19],[3, 6, 9, 16, 22],[10, 13, 14, 17, 24],[18, ...

2019-03-05 14:28:58 230

原创 LeetCode刷题指南:求众数

给定一个大小为n的数组,找到其中的众数。众数是指在数组中出现次数大于⌊ n/2 ⌋的元素。你可以假设数组是非空的,并且给定的数组总是存在众数。示例1:输入:【3,2,3】输出:【3】示例 2:输入:【2,2,1,1,1,2,2】输出:【2】解答:使用摩尔投票法,摩尔投票法常用来求一个序列中出现次数大于【n/2】的元素,是一个线性时间复杂度和空间复杂度...

2019-03-04 16:57:06 210

原创 LeetCode刷题指南:只出现一次的数字

只出现一次的数字给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4解答:注意题目,某个元素只出现一次,其余每个元素均出现两次,可以使用异或来解决,相同数字异或得零,零...

2019-03-04 16:35:14 144

原创 Hive启动错误Caused by: javax.jdo.JDOFatalDataStoreException: Unable to open a test connection to the giv

hive启动时报错Caused by: javax.jdo.JDOFatalDataStoreException: Unable to open a test connection to the given database. JDBC url = jdbc:mysql://master:3306/hive?createDatabaseIfNotExist=true, username = roo...

2019-02-17 18:43:53 4578

原创 Zookeeper集群查看状态错误:Error contacting service. It is probably not running

今天在启动zookeeper集群时出现了进程成功启动,但是查看集群状态错误的情况。解决过程如下:首先查看防火墙状态,如果未关闭则关闭防火墙然后查看zookeeper/conf下的zoo.cfg文件中的server.1等是否正确在查看myid文件中的值是否与server.1等中的一致很不幸,这些都没有问题此时我查看了bin目录下的zookeeper.out文件,发现了这个找不到服务器...

2019-02-12 20:31:58 1119

原创 Hadoop之HDFS文件操作Java实现

新建一个Java工程导入hadoop相关包,具体为hadoop/share/common/lib、hadoop/share/common/hadoop-common-2.6.1.jar、hadoop/share/hdfs/lib以及hadoop/share/hdfs/hadoop-hdfs-2.6.1.jarpublic class HdfsClient { public stat...

2019-02-02 20:42:17 1548

原创 大数据(一)

处理海量数据的核心技术:海量数据存储:分布式海量数据运算:分布式存储框架:HDFS–分布式文件存储系统HBASE–分布式数据库系统KAFKA–分布式消息缓存系统(实时流式数据处理场景中应用)运算框架:(帮用户将运算逻辑在许多机器上并行)MAPREDUCE–离线批处理/HADOOP中的运算框架Spark–离线批处理/实时流式计算Storm–实时流式计算辅助工具:HIVE–数据...

2019-02-02 11:30:30 204

课程设计云笔记系统SSH

基于SSH的云笔记系统,课程设计可用,有源代码和sql文件。

2018-12-29

空空如也

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

TA关注的人

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