随笔分类 - Flink/Spark
摘要:架构选型 首先在架构上,Flink 采用了经典的主从模式,DataFlow Graph 与 Storm 形成的拓扑 Topology 结构类似,Flink 程序启动后,会根据用户的代码处理成 Stream Graph,然后优化成为 JobGraph,JobManager 会根据 JobGraph 生
阅读全文
摘要:一、数据倾斜 1、什么是数据倾斜? 由于数据分布不均匀,造成数据大量的集中到一点,造成数据热点。 数据倾斜原理 目前我们所知道的大数据处理框架,比如 Flink、Spark、Hadoop 等之所以能处理高达千亿的数据,是因为这些框架都利用了分布式计算的思想,集群中多个计算节点并行,使得数据处理能力能
阅读全文
摘要:Flink 框架中支持事件时间、摄入时间和处理时间三种。而当我们在流式计算环境中数据从 Source 产生,再到转换和输出,这个过程由于网络和反压的原因会导致消息乱序。因此,需要有一个机制来解决这个问题,这个特别的机制就是“水印”。 Flink 的窗口和时间 根据窗口数据划分的不同,目前 Flink
阅读全文
摘要:1:基于 Flink 的实时数据仓库是如何做的? 我们要从 Flink 的优势开始入手,介绍基于 Flink 的实时数仓建设的关键技术选型和整体设计。 传统的离线数据仓库将业务数据集中进行存储后,以固定的计算逻辑定时进行ETL和其他建模后产出报表等应用。离线数据仓库主要是构建 T+1 的离线数据,通
阅读全文
摘要:进阶篇主要包含了 Flink 中的数据传输、容错机制、序列化、数据热点、反压等实际生产环境中遇到的问题等考察点。这一阶段主要考察我们对 Flink 掌握的深度,也是留下好印象的关键环节。 1:请谈谈你对 Flink Table & SQL 的了解情况?以及 TableEnvironment 这个类有
阅读全文
摘要:罗列Flink基础相关的题。 1:请介绍一下 Flink。 考察我们队 Flink 整体的掌握情况,我们应该从以下几个基本的概念入手。 Flink 是大数据领域的分布式实时和离线计算引擎,其程序的基础构建模块是流(Streams)和转换(Transformations),每一个数据流起始于一个或多个
阅读全文
摘要:Table API 和 SQL 处于最顶端,是 Flink 提供的高级 API 操作。Flink SQL 是 Flink 实时计算为简化计算模型,降低用户使用实时计算门槛而设计的一套符合标准 SQL 语义的开发语言. 一个完整的 Flink Table & SQL Job 也是由 Source、Tr
阅读全文
摘要:面向数据时代的实时计算技术接踵而至。从我们最初认识的 Storm,再到 Spark 的异军突起,迅速占领了整个实时计算领域。Apache Flink 同时支持流式及批量分析应用,实现批流一体。 Flink 在实时数仓和实时 ETL 中有天然的优势: 状态管理,实时数仓里面会进行很多的聚合计算,这些都
阅读全文
摘要:一、大数据技术涉及的技术层面 数据采集,通过etl将结构化、非结构化数据抽取到中间层,进行清洗、转换、加载到数据集市,作为数据分析、数据挖掘和流计算的基础 数据存储和管理,通过分布式文件系统、数仓、关系型数据库、NoSql数据库,对数据进行存储和管理 数据处理和分析,通过分布式计算框架,进行数据挖掘
阅读全文
摘要:Hadoop 组件 HDFS分布式文件系统 作为Hadoop分布式文件系统,HDFS处于Hadoop生态圈的最下层,存储着所有的数据,支持着Hadoop的所有服务。 HDFS是基于节点的形式进行构建的,里面有一个父节点NameNode,他在机器内部提供了服务,NameNode本身不干活,NameNo
阅读全文
摘要:SQL脚本 思路:计算经纬度之间球面距离,返回单位:米 6378137*2*ASIN(SQRT(POWER(SIN((destination_lat-endpoint_lat)*ACOS(-1)/360),2) +COS(destination_lat*ACOS(-1)/180)*COS(endpo
阅读全文
摘要:hive 窗口函数按照我个人理解,依据hive在map_reduce运算中,通过数据聚合,做好数据清洗和运算,一般在olap(在线数据分析)中事半功倍。 假设以下工作场景:窗口函数的威力你就会见识到: 1、比赛场景中,每场比赛的成绩排名第二位的选手,或者每场比赛成绩排名前五的选手; 2、如果有选手淘
阅读全文
摘要:hive中常规处理json数据,array类型json用get_json_object(#,"$.#")这个方法足够了,map类型复合型json就需要通过数据处理才能解析。 explode:字段行转列,处理map结构的字段,将数组转换成多行 select explode(split(字段,','))
阅读全文