自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (5)
  • 收藏
  • 关注

原创 Flink面试总结

Flink概括Flink认为Batch是Streaming 的一个特例,所以Flink底层引擎是一个流式引擎,在上面实现了流处理和批处理。而窗口(window)就是从Streaming 到Batch的一个桥梁。Flink提供了非常完善的窗口机制,这是Flink最大的亮点之一(其他的亮点包括消息乱序处理,和checkpoint机制)。Window是一种切割无限数据集为有限块并进行相应计算的处理手段(跟keyBy一样,也是一种分组手段,只不过同一event可能被分到多个组)Flin.

2020-09-05 10:21:32 664

原创 docker 修改文件

方法一:docker inspect --format='{{.GraphDriver.Data.MergedDir}}' 容器 ID 或名字会返回容里根目录对应的宿主机路径。 可以直接进去编辑,修改保存文件并重启docker。方法二:使用vim编辑器在使用docker容器时,有时候里边没有安装vim,敲vim命令时提示说:vim: command not found,这个时候就需要安装vim,这时候需要敲:apt-get update这个命令的作用是:同步 /etc/apt

2020-09-02 10:15:00 1447

原创 企业级大数据技术框架

软件环境:Linux红帽6.4、Ambari、Hadoop、ZooKeeper、Spark、Flink、hive、kylin、Hbase、Phoenix、Flume、Kafka、kettle、canal、Azkaban、Oacle12C、MySQL 建设基于Hadoop的大数据管理平台,与各类业务系统和海量数据服务平台对接接口,获取海量数据,实现数据采集、数据分析、业务模型计算以及大数据分布式存储;基于各类业务模型,开发完成元数据管理、数据封装、数据接入、数据处理(数据清洗、数据标准化)、数据关联、数..

2020-09-02 09:16:04 384

原创 Spark 解决数据倾斜

数据倾斜是大数据计算中一个最棘手的问题,出现数据倾斜后,Spark 作业的性能会比期望值差很多。数据倾斜的调优,就是利用各种技术方案解决不同类型的数据倾斜问题,保证 Spark 作业的性能。一,数据倾斜原理一个 Spark 作业,会根据其内部的 Action 操作划分成多个 job,每个 job 内部又会根据 shuffle 操作划分成多个 stage,然后每个 stage 会分配多个 task 去执行任务。每个 task 会领取一个 partition 的数据处理。同一个 stage 内的 t

2020-09-01 16:49:51 149

原创 Spark-KMeans聚类分析

Spark机器学习库简介MLlib是Spark的机器学习(ML)库。其目标是使实用的机器学习可扩展且简单。从较高的层面来说,它提供了以下工具: ML算法:常见的学习算法,如分类,回归,聚类和协同过滤 特征化:特征提取,转换,降维和选择 管道:用于构建,评估和调整ML管道的工具 持久性:保存和加载算法,模型和管道 实用程序:线性代数,统计,数据处理等使用 Spark 机器学习库来做机器学习工作,可以说是非常的简单,通常只需要在对原始数据进行处理后,然后直...

2020-09-01 16:46:05 817

原创 Spark-推荐引擎

推荐模型推荐模型的种类分为:1.基于内容的过滤:基于内容的过滤利用物品的内容或是属性信息以及某些相似度定义,来求出与该物品类似的物品。2.协同过滤:协同过滤是一种借助众包智慧的途径。它利用大量已有的用户偏好来估计用户对其未接触过的物品的喜好程度。其内在思想是相似度的定义。在基于用户的方法的中,如果两个用户表现出相似的偏好(即对相同物品的偏好大体相同),那就认为他们的兴趣类似。同样也可以借助基于物品的方法来做推荐。这种方法通常根据现有用户对物品的偏好或是评级情况,来计算物品之间的某种相似度

2020-09-01 16:41:58 317

原创 Spark-RDD宽窄依赖及Stage划分

1.术语解释:Master(Standalone):资源管理的主节点(进程)Cluster Manager:在集群上获取资源的外部服务(例如standalone,Mesos,Yarn)Worker Node(standalone):资源管理的从节点(进程)或者说管理本机资源的进程Application:基于Spark的用户程序,包含了Driver程序和运行在集群上的executor程序Driver Program:用来连接工作进程(Worker)的程序Executor:是在一个Wor

2020-09-01 16:23:29 2377

原创 flink 用户购买行为跟踪

需求: 电商公司出于提高用户的复购率、粘连度等目的经常会推出各种营销手段,运营部们希望数据中心能实时跟踪用户的购买行为作为推送各种优惠的依据,能实时把可以推送优惠券的用户推送给相关应用;分析:用户的购买行为可以用很多指标来衡量,例如:购买路径长度、购买次数、购买频率、感兴趣类日、感兴趣商品等等。 本项目以跟踪用户购买路径长度为例来做分析:用户在手机App上操作行为我们抽象为事件,通过跟踪用户事件来实时触发指定的操作,比如推送优惠券。在众多的事件中,购买路径长度是推送优惠券比较关注的一个...

2020-09-01 16:16:18 315

原创 flink的实时数据同步

构建基于flink、kafka、MySQL、hbase的实时数仓,实现:(1)业务数据全量同步到数据仓库;(2)业务数据实时增量同步到数据仓库,使用Kafka+canal实现增量数据采集。数仓架构设计:(1)全量拉取模块,采用flink-jdbc,或者sqoop(2)增量实时同步模块,使用Kafka+canal实现增量数据采集。canal是通过模拟成为mysql 的slave节点的方式,监听mysql 的binlog日志来获取数据,binlog日志就是数据增删改的记录,canal解析binl

2020-09-01 16:16:05 4124

原创 Flink on Yarn的两种运行方式

Flink on Yarn(yarn session 和 flink run 两种模式)session:这种方式需要先向yarn申请一块空间后,再提交作业,资源永远保持不变。如果资源满了,下一个作业就无法提交,只能等到yarn中的其中一个作业执行完成后,释放了资源,那下一个作业才会正常提交,这种方式资源被限制在session中,不能超过。flink run:一个任务会对应一个job,每提交一个作业会根据自身的情况,向yarn申请资源,直到作业执行完成,并不会影响下一个作业的正常运行。这种方式就需要确保集

2020-09-01 16:14:17 1849

原创 flink training 打车实时计算项目

本文介绍一个开源的flink项目,主要提供了一些业务场景和flink api结合的case。重点是为Flink的状态和时间管理api提供直观的介绍,掌握了这些基础知识后,能够更好地理解和运用flink。GitHub地址:http://training.ververica.com/trainingData 建议clone到本地练习- 如何建立一个环境来开发Flink程序 - 如何实现流数据处理管道 - Flink管理状态 - 如何使用事件时间一致计算准确的分析 - 如何在连续流上构建事件...

2020-08-31 16:51:58 736 2

原创 Flink 搭建部署

1.1本地模式部署1.1.1 将压缩包解压[root@master root]# tar -zxvf flink-1.9.1-bin-scala_2.11.tgz -C /usr/local/官方下载地址:https://flink.apache.org/zh/downloads.html1.1.2 创建软连接(文件名太长操作不方便,就是改个名)[root@master local]# ln -s flink-1.9.1/ flink.1.3 配置环境变量[root@ma

2020-08-31 16:16:49 303

原创 Flink的提交/运行方式

Flink的多种提交/运行方式Flink具有多种提交方式,比如:常用的local模式,stantalone模式,yarn模式,k8s等。这里主要对比local,stantalone,yarn三种提交方式。 (1)Local 模式,JobManager 和 TaskManager 共用一个 JVM,只需要jdk支持,单节点运行,主要用来调试;(2)stantalone模式,Flink是Master/Slave架构,充当Master角色的是JobManager,充当Slave角色是TaskM..

2020-08-31 16:01:34 8163 2

原创 Flink 类型和序列化机制

序列化概念当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需要把这个Java对象转换为字节序列,才能在网络上传送;接收方则需要把字节序列再恢复为Java对象。把Java对象转换为字节序列的过程称为对象的序列化。把字节序列恢复为Java对象的过程称为对象的反序列化。对象的序列化主要有两种用途:1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中;2) 在网络上传送对象的字节序列。序列化的好处:减少数据在内存、硬.

2020-08-31 12:11:32 4071

原创 flink 通过两阶段提交实现exactly-once

一、flink Exactly-Once与At-Least-Once 关于消息的消费、处理语义可以分为三类: 1. at most once : 至多一次,表示一条消息不管后续处理成功与否只会被消费处理一次,那么就存在数据丢失可能 2\. exactly once : 精确一次,表示一条消息从其消费到后续的处理成功,只会发生一次 3\. at least once :至少一次,表示一条消息从消费到后续的处理成功,可能会发生多次 在我们程序处理中通常要求能够满足exec

2020-08-31 11:44:27 679

原创 Flink 的背压机制(Back Pressure)

什么是 Back Pressure如果看到任务的背压警告(如 High 级别),这意味着 生成数据的速度比下游算子消费的的速度快。以一个简单的 Source -> Sink 作业为例。如果能看到 Source 有警告,这意味着 Sink 消耗数据的速度比 Source 生成速度慢。Sink 正在向 Source 施加反压。许多情况都会导致背压。例如,GC导致传入数据堆积,或者数据源在发送数据的速度上达到峰值。如果没有正确处理反压力,可能会导致资源耗尽,甚至在最坏的情况下,数据丢失。看一个简

2020-08-31 11:32:30 7193

原创 Flink MiniBatch的作用

在Blink的流式任务中,State相关的操作通常都会成为整个任务的性能瓶颈。实时计算部-查询和优化团队开发了MiniBatch功能,大幅降低了State操作的开销。假设数据流在短时间内累计有N条数据(分布在M个key上)开启minibatch的前后对比:操作state由2N次转变为2M次MiniBatch的一个典型场景-无限流上的GroupBy在Blink-SQL中,通常会使用无限流的GroupBy来完成去重或者聚合计算,一个简单的例子如下SELECT a, count(b) FROM

2020-08-31 11:25:49 1896

原创 Flink 清理 Checkpoint的原理和机制

本文涉及以下知识:Flink Checkpoint 目录的清除策略 生产环境应该选择哪种清除策略 生产环境必须定期脚本清理 Checkpoint 和 Savepoint 目录 RocksDB 增量 Checkpoint 实现原理 如何合理地删除 Checkpoint 目录? 通过解析 Flink Checkpoint 的元数据信息来合理清理 Checkpoint 信息1. 故障背景1.1 Flink Checkpoint 目录的清除策略如下图所示,红圈处的一行配置 env.getCh

2020-08-31 09:36:18 1825 1

原创 Flink的Process Function(低层次操作)和状态

Process Function(过程函数)ProcessFunction是一个低层次的流处理操作,允许返回所有(无环的)流程序的基础构建模块:  1、事件(event)(流元素)  2、状态(state)(容错性,一致性,仅在keyed stream中)  3、定时器(timers)(event time和processing time, 仅在keyed stream中)ProcessFunction可以认为是能够访问到keyed state和timers的FlatMapFunction,输

2020-08-31 09:23:24 807

转载 Flink CEP机制与原理

1 复杂事件1.1 引入在Flink RichFunction&state这篇博文中我们一起学习了下如何结合使用keyBy state和TreeSet在一条无界流中进行全局的分组求top n操作,可以解决一些实时看板相关的业务问题。在Flink BroadcastStream这篇博文中我们也学习到了如何使用广播流来处理监控规则经常变更的程序日志监控业务。那么现在我们又遇到了一个新的业务需求:判断一个用户在点击了商品之后是否立即进行了下单付款操作,如果是的话将用户名和点击时间以及下单付款时

2020-08-31 08:45:50 1656

原创 Flink1.11.0+Kafka2.3.0+MySQL8的快速安装部署

环境准备本实战演示环节需要安装到Linux虚拟机的服务,包括:Flink 集群:用来运行 Flink 任务。 Kafka 集群:用来作为数据源。 MySQL 数据库:用来作为结果表。虚拟机最好是CenOs7以上的版本,这样会支持docker,后续一些组件可以采用docker的方式部署特别说明如果我们平时是用本机window编写IDEA,可以不用着急安装虚拟机上面的FlinkFlink 集群安装下载 Flink 1.11.0安装包并解压(解压目录flink-1.11.0):h..

2020-07-10 16:27:39 1176

原创 Error:scalac: missing or invalid dependency detected while loading class file ‘ScalaCaseClassSeriali

一、问题描述用IDEA编写flink的scala程序,编译没有错误但是运行出错,日志如下:Error:scalac: missing or invalid dependency detected while loading class file 'ScalaCaseClassSerializer.class'. Could not access type SelfResolvingTypeSerializer in object org.apache.flink.api.common.typeuti

2020-07-10 15:27:14 1876

转载 Flink读取Kafka 消息并批量写入到 MySQL8.0

前言说明环境搭建可参考《kafka+flink集成实例》本实例主要实现功能如下:模拟消息生成->Kafka->Flink->Mysql其中Flink做数据流收集并定时批量写入到Mysql环境依赖本例使用Intellij IDEA作为项目开发的IDE。首先创建Maven project,group为’com.zuoan’,artifact id为‘flink-kafka-mysql’,version为‘1.0-SNAPSHOT’。整个项目结构如图所示:特..

2020-07-09 08:54:51 1932 2

Java连接oracle

Java连接oracle,很好的文档,有简单的程序可以测试连接

2012-07-31

Java数据库课程设计

java版的数据库课程设计,有程序,有截图,有完整的报告,有数据库,包括access版和sql server2000版两种,都经过测试,可以正常运行。对于学习Java和数据库有很好的帮助,里面还有Java连接数据库的方法。

2011-06-30

通信原理课后答案西安电子张卫钢

通信原理课后答案西安电子张卫钢,很详细,很清楚

2011-06-09

人工智能试卷,有答案偶

人工智能的试卷,有答案偶,我去,到底要打多少字才可以啊

2011-06-09

计算机操作系统第三版课后答案

这是计算机操作系统(第三版),西安电子科技大学出版社,汤小丹主编的

2010-08-27

空空如也

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

TA关注的人

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