随笔分类 - 大数据部分
摘要:一. 基本概念(https://blog.csdn.net/xianzhen376/article/details/89810958) 双流Join是Flink面试的高频问题。一般情况下说明以下几点就可以hold了: 1.join大体分类有两种:window join和interval join。w
阅读全文
摘要:大致思路: canal去mysql拉取数据,放在canal所在的节点上,并且自身对外提供一个tcp服务,我们只要写一个连接该服务的客户端,去拉取数据并且指定往kafka写数据的格式就能达到以protobuf的格式往kafka中写数据的要求。 1. 配置canal(/bigdata/canal/con
阅读全文
摘要:druid
阅读全文
摘要:flinkSql,flinkTable
阅读全文
摘要:1.Flink中exactly once实现原理分析 生产者从kafka拉取数据以及消费者往kafka写数据都需要保证exactly once。目前flink中支持exactly once的source不多,有kafka source;能实现exactly once的sink也不多,如kafka s
阅读全文
摘要:1. 获取窗口迟到的数据 主要流程就是给迟到的数据打上标签,然后使用相应窗口流的实例调用sideOutputLateData(lateDataTag),从而获得窗口迟到的数据,进而进行相关的计算,具体代码见下 WindowLateDataDemo package cn._51doit.flink.d
阅读全文
摘要:1. ProcessFunction ProcessFunction是一个低级的流处理操作,可以访问所有(非循环)流应用程序的基本构建块: event(流元素) state(容错,一致性,只能在Keyed流中使用) timers(事件时间和处理时间,只能在keyed流中使用) ProcessFunc
阅读全文
摘要:1. 案例 用户ID,活动ID,时间,事件类型,省份 u001,A1,2019-09-02 10:10:11,1,北京市 u001,A1,2019-09-02 14:10:11,1,北京市 u001,A1,2019-09-02 14:10:11,2,北京市 u002,A1,2019-09-02 14
阅读全文
摘要:1 练习讲解(此处自己没跑通,以后debug) 题目见flink 实时项目 day02 kafka中的数据,见day02的文档 GeoUtils package cn._51doit.flink.day07; import ch.hsr.geohash.GeoHash; import com.ali
阅读全文
摘要:1. 解析参数工具类(ParameterTool) 该类提供了从不同数据源读取和解析程序参数的简单实用方法,其解析args时,只能支持单只参数。 用来解析main方法传入参数的工具类 public class ParseArgsKit { public static void main(String
阅读全文
摘要:1. openrestry的安装 OpenResty = Nginx + Lua,是⼀一个增强的Nginx,可以编写lua脚本实现⾮非常灵活的逻辑 (1)安装开发库依赖 yum install -y pcre-devel openssl-devel gcc curl (2)配置yum的依赖源 yum
阅读全文
摘要:1. kafkaSource 见官方文档 2. kafkaSource的偏移量的存储位置 默认存在kafka的特殊topic中,但也可以设置参数让其不存在kafka的特殊topic中 3 将kafka中的数据写入redis中去 redisSink不支持exactly Once,只支持AtLeast
阅读全文
摘要:1. Task的划分 在flink中,划分task的依据是发生shuffle(也叫redistrubute),或者是并行度发生变化 1. wordcount为例 package cn._51doit.flink.day03; import org.apache.flink.api.common.fu
阅读全文
摘要:1.自定义sink 在flink中,sink负责最终数据的输出。使用DataStream实例中的addSink方法,传入自定义的sink类 定义一个printSink(),使得其打印显示的是真正的task号(默认的情况是task的id+1) MyPrintSink package cn._51doi
阅读全文
摘要:1. flink简介 1.1 什么是flink Apache Flink是一个分布式大数据处理引擎,可以对有限数据流(如离线数据)和无限流数据及逆行有状态计算(不太懂)。可以部署在各种集群环境,对各种大小的数据规模进行快速计算。 1.2 flink的架构体系 具体见文档 2. flink的安装 修改
阅读全文
摘要:1. log4j(具体见log4j文档) log4j是一个java系统中用于输出日志信息的工具。log4j可以将日志定义成多种级别:ERROR / WARN / INFO / DEBUG log4j通过获取到一个logger对象来输出日志: val logger = Logger.getLogger
阅读全文
摘要:更多内容见文档 1. 区域字典的生成 mysql中有如下表格数据 现要将这类数据转换成(GEOHASH码, 省,市,区)如下所示 (1)第一步:在mysql中使用sql语句对表格数据进行整理(此处使用到了自关联,具体见文档大数据学习day03) create table area_dict as S
阅读全文
摘要:1 flume复习梳理 (1)flume是什么? flume是一个分布式、高可用的数据采集系统 (2)flume主要适用于哪些场景 日志文件的采集 kafka数据的采集 说明:本质上来说,flume可以读取任何数据源,然后传到任何一个数据存储。读不同的数据源有不同的source实现组件来适配,写入不
阅读全文
摘要:1.avro source和kafka source 1.1 avro source avro source是通过监听一个网络端口来收数据,而且接受的数据必须是使用avro序列化框架序列化后的数据。avro是一种序列化框架,并且是跨语言的。 扩展:什么是序列化,什么是序列化框架? 序列化:是将一个有
阅读全文
摘要:具体见文档,以下只是简单笔记(内容不全) 1.agent Flume中最核心的角色是agent,flume采集系统就是由一个个agent连接起来所形成的一个或简单或复杂的数据传输通道。对于每一个Agent来说,它就是一个独立的守护进程(JVM),它负责从数据源接收数据,并发往下一个目的地,如下图所示
阅读全文

浙公网安备 33010602011771号