- 博客(6)
- 收藏
- 关注
原创 FlinkKafkaProducer两阶段提交-TwoPhaseCommitSinkFunction过程简述
两阶段提交 1 FlinkKafkaProducer继承了TwoPhaseCommitSinkFunction 类 2 TwoPhaseCommitSinkFunction类继承了RichSinkFunction类且实现了CheckPointedFunction接口以及CheckPointListener接口 3 FlinkKafkaProducer重写了TwoPhaseCommitSinkFunction类...
2021-01-20 11:14:11
1378
原创 flink的transformation算子-keyBy
keyBy算子是将DataStream里的数据按照指定的key进行分组,具体实现可大致分为两类,1 传入的参数为下标值,这种一般只适用于DataStream里的数据类型为元组方可使用,2 传入的参数为keySelector或者其引用(java的lambda表达式),实现代码如下: import org.apache.flink.api.common.operators.Keys; import org.apache.flink.api.java.functions.KeySelector; import o
2020-08-31 16:25:24
402
原创 项目介绍
项目介绍 项目整体介绍 1.项目模型搭建 此项目为数据仓库项目,主要是做离线计算的 项目模型:项目分为流量域和业务域两个主题域,为了方便管理这么多数据,又将每个主题域划分为五个层级,分别是ODS层,DWD层,DWS层,ADS层及DIM层,分层的原因为解耦,复用,便于管理,下面我分别介绍一下项目中他们的应用场景 1.1 ODS层 ODS层:源数据层,分为流量域ODS层及业务域ODS层 流量域ODS层:数据来源于日志服务器(用户行为日志数据(APP端和WEB端)),日志服务器将数据生产到Kafka,然后使用Fl
2020-08-17 10:29:42
1372
原创 SparkStreaming获取数据源的两种方式(监听端口号及整合kafka)
方式一:监听端口号,此方式需要先在linux上开启nc -lk 端口号服务,之后SparkStreaming可以从此端口拉取到数据,并进行实时处理,代码如下: import org.apache.spark.streaming.dstream.{DStream, ReceiverInputDStream} import org.apache.spark.streaming.{Seconds, StreamingContext} import org.apache.spark.{SparkConf, Spar
2020-07-22 16:23:41
1087
原创 hive相关知识(一)
今天整理了一下hive的相关知识,其中包括hive原理及其表相关的一些内容,主要为个人理解: 1.hive是什么有什么用? hive是数仓工具,可以抽取,转换,加载数据(ETL), Hive不适用于毫秒级的响应,因为其底层是调用MR程序在Yarn上运行操作hdfs上的结构化静态数据来实现处理数据的功能,但Hive将sql跟MR结合,可以实现多维度的查询,用户的学习成本较低,上手较为容易. 2.hive工作原理 Hive工作原理本质是将客户端发起的sql语句转换成底层的MR程序执行 (1)hive接收到
2020-07-18 20:58:23
260
原创 SparkSql中生成DataFrame的四种方式
SparkSql中生成DataFrame的四种方式: 方式一: 定义一个case class类,将其作为RDD中的存储类型,然后导包import spark.implicts._ 最后直接调用RDD的方法即:toDF方法即可生成DataFrame,代码如下: import org.apache.spark.rdd.RDD import org.apache.spark.sql.{DataFrame, SparkSession} object DataFrameDemo1 { def main(args
2020-07-16 21:07:47
686
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅