- 博客(6)
- 收藏
- 关注
原创 FlinkKafkaProducer两阶段提交-TwoPhaseCommitSinkFunction过程简述
两阶段提交1 FlinkKafkaProducer继承了TwoPhaseCommitSinkFunction类2 TwoPhaseCommitSinkFunction类继承了RichSinkFunction类且实现了CheckPointedFunction接口以及CheckPointListener接口3 FlinkKafkaProducer重写了TwoPhaseCommitSinkFunction类...
2021-01-20 11:14:11
1127
原创 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
300
原创 项目介绍
项目介绍项目整体介绍1.项目模型搭建此项目为数据仓库项目,主要是做离线计算的项目模型:项目分为流量域和业务域两个主题域,为了方便管理这么多数据,又将每个主题域划分为五个层级,分别是ODS层,DWD层,DWS层,ADS层及DIM层,分层的原因为解耦,复用,便于管理,下面我分别介绍一下项目中他们的应用场景1.1 ODS层ODS层:源数据层,分为流量域ODS层及业务域ODS层流量域ODS层:数据来源于日志服务器(用户行为日志数据(APP端和WEB端)),日志服务器将数据生产到Kafka,然后使用Fl
2020-08-17 10:29:42
1252
原创 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
899
原创 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
173
原创 SparkSql中生成DataFrame的四种方式
SparkSql中生成DataFrame的四种方式:方式一:定义一个case class类,将其作为RDD中的存储类型,然后导包import spark.implicts._ 最后直接调用RDD的方法即:toDF方法即可生成DataFrame,代码如下:import org.apache.spark.rdd.RDDimport org.apache.spark.sql.{DataFrame, SparkSession}object DataFrameDemo1 { def main(args
2020-07-16 21:07:47
547
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人