自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 大数据——Flink Broadcast State 广播状态

一、BroadcastState 的介绍广播状态(Broadcast State)是 Operator State 的一种特殊类型。如果我们需要将配置 、规则等低吞吐事件流广播到下游所有 Task 时,就可以使用 BroadcastState。下游的 Task 接收这些配置、规则并保存为 BroadcastState,所有Task 中的状态保持一致,作用于另一个数据流的计算中。简单理解:一个低吞吐量流包含一组规则,我们想对来自另一个流的所有元素基于此规则进行评估。场景:动态更新计算规则。广播状态.

2021-08-31 23:24:56 12223 12

原创 大数据—— Flink 状态后端(State Backends)

由于有效的状态访问对于处理数据的低延迟只管重要,因此每个并行任务都会在本地维护其状态,以确保快速的状态访问。状态的存储、访问以及维护,有一个可插入的组件决定,这个组件就叫做状态后端(State Backends)状态后端主要负责两件事:本地的状态管理 将检查点(checkpoint)状态写入远程存储Flink 提供的状态后端:MemoryStateBackend:内存级的状态后端,会将键控状态作为内存中的对象进行管理,将它们存储在 TaskManager 的 JVM 堆上,而将 chec

2021-08-28 00:06:53 11738 2

原创 大数据——Flink 时间语义

目录一、时间语义1.1 三种时间概念1.1.1 ProcessTime 在代码中的使用1.1.2 EventTime 在代码中的使用1.1.3 关于窗口起始时间的计算值二、对事件的处理2.1 有序事件2.2 乱序事件2.3 指定 Timestamps 与生成 Watermarks2.4 使用WatermarkStrategy 工具类指定时间戳和Watermark2.5 自定义指定 Timestamps 和 Watermarks2.6 对迟到数据的处理...

2021-08-26 23:13:48 11877

原创 大数据——Flink dataStream 中窗口函数的使用

一、窗口类型Keyed 和 Non-Keyed上游算子是 KeyStream 类型,为 Keyed 窗口 上游算子不是 KeyStream 类型,为 Non-Keyed 窗口Keyed Windows使用window算子进行窗口定义No-Keyed Windows使用windowAll算子进行窗口定义数量、时间的窗口CountWindow 按照知道的数据条数生成一个 Window,与时间无关 滚动窗口(Tumbling Window)、滑动窗口(Sliding Window)

2021-08-26 21:17:56 11449

原创 大数据——Flink 侧输出流练习(将集合中的整数按奇偶写入不同的流中)

代码如下package cn.kgc.transformimport org.apache.flink.streaming.api.functions.ProcessFunctionimport org.apache.flink.streaming.api.scala._import org.apache.flink.util.Collectorobject SideOutputStream1 { def main(args: Array[String]): Unit = {

2021-08-25 23:09:12 11149 2

原创 大数据——Flink 基础练习(将 Kafka 接收到的单词首字母大写后写回 Kafka 中)

一、创建 kafka_resource 和 kafka_sink 主题#创建kafka_source主题kafka-topics.sh --create --zookeeper master:2181 --topic kafka_source --partitions 2 --replication-factor 1#创建kafka_sink主题kafka-topics.sh --create --zookeeper master:2181 --topic kafka_sink --parti

2021-08-25 22:45:08 11036 2

原创 大数据——Flink的KafkaSource和自定义Source

一、KafkaSource在流式处理过程中,Kafka 和 Flink 的整合是许多公司所使用的架构。而 Flink 和 Kafka 的整合也非常友好,代码非常简单,实际开发中使用较多package cn.kgc.sourceimport java.util.Propertiesimport org.apache.flink.api.common.serialization.SimpleStringSchemaimport org.apache.flink.streaming.api.s

2021-08-25 20:30:49 13511

原创 大数据——Flink 入门程序(wordcount)

目录一、编程模型二、编程步骤三、DataStream 实时 wordcount​四、DataSet 离线wordcount一、编程模型Flink提供了不同级别的编程抽象,通过调用抽象的数据集调用算子构建DataFlow就可以实现对分布式的数据进行流式计算和离线计算,DataSet是批处理的抽象数据集,DataStream是流式计算的抽象数据集,他们的方法都分别为Source、Transformation、SinkSource主要负责数据的读取 Transfor...

2021-08-24 17:33:12 11807 10

原创 大数据——Flink 中的角色及安装部署

一、Flink 中的角色Flink 也遵循主从原则,主节点为JobManager,从节点为TaskManager1.1. Client将任务提交到JobManager,并和JobManager进行任务交互获取任务执行状态。1.2. JobManager负责任务的调度和资源的管理。负责Checkpoint的协调过程。获取到客户端的任务后,会根据集群中 TaskManager 上 TaskSlot 的使用情况, 为提交的任务分配相应的 TaskSlots 资源,并命令 Task.

2021-08-24 14:37:23 11512

原创 大数据——WebSocket埋点实现离线+实时数据处理

一、WebSocket概述WebSocket是HTML5开始提供的一种在单个TCP连接上进行全双工通讯的协议。能更好的节省服务器资源和带宽,并且能够更实时地进行通讯。 WebSocket使得客户端和服务器之间的数据缓缓变得更加简单,允许服务端主动向客户端推送数据。 在WebSocketAPI中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。 浏览器通过JavaScript向服务器发出建立We...

2021-08-23 20:59:44 12027 2

原创 大数据——大数据默认端口号列表

一、hadoop端口号介绍应用 hadoop2.x hadoop3.x NameNode 8020 9820 NameNode HTTP UI 50070 9870 NameNode HTTPS UI 50470 9871 SecondaryNameNode HTTP 50091 9869 SecondaryNameNode HTTP UI 50090 9868 DataNode IPC 50020

2021-08-22 18:53:17 11415 5

原创 大数据——Java 知识点整理

1. JDK 和 JRE 有什么区别?JDK:Java Development Kit 的简称,java开发工具包,提供了java的开发环境和运行环境。 JRE:Java Runtime Environment 的简称,java运行环境,为java的运行提供了所需环境。具体来说,JDK其实包含了JRE,同时还包含了编译java源码的编译器javac,还包含了许多java程序调试和分析的工具。要运行java程序,只需要安装JRE就可以了,如果需要编写java程序,则还需要安装JDK。2. java

2021-08-22 14:09:00 13224 7

原创 Java——常见的几种排序算法

一、冒泡排序每次冒泡过程都是从数列的第一个元素开始,然后依次和剩余的元素进行比较, 跟列队一样, 从左到右两两相邻的元素比大小, 高的就和低的换一下位置. 最后最高(值最大)的肯定就排到后面了.但是这只是把最高的排到后面了, 还得找出第二高的, 于是又从第一个开始两两比较, 高的往后站, 然后第二高的也到后面了.然后是第三高的再往后排…public class JavaSort { public static void main(String[] args) { .

2021-08-22 00:22:37 11010

原创 大数据——Flink Maven工程依赖

<inceptionYear>2008</inceptionYear> <properties> <scala.version>2.7.0</scala.version> <scala.version>2.12.10</scala.version> <scala.binary.version>2.12</scala.binary.version> <h...

2021-08-21 20:53:25 12004

原创 大数据——Hadoop集群调优

一、HDFS多目录存储1.1 生产环境服务器磁盘情况1.2 在hdfs-site.xml文件中配置多个目录,需要注意新挂载磁盘的访问权限问题。 HDFS中DataNode节点保存数据的路径由dfs.datanode.data.dir参数决定,其默认值为file://${hadoop.tmp.dir}/dfs/data,若服务器中有多个磁盘,必须对改参数进行修改。如服务器磁盘如上图所示,则该参数应修改为如下的值。<property> <name&g...

2021-08-21 11:39:15 11867 3

原创 Java连接Mysql(JDBC)

目录一、创建Java Maven工程二、加载驱动三、创建连接四、预编译SQL语句五、返回结果集六、遍历结果集输出附录:完整代码一、创建Java Maven工程导入JDBC依赖: <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version

2021-08-18 22:00:17 10791

原创 大数据——Kylin工具介绍

目录一、Apache Kylin概述二、Apache Kylin特点三、Apache Kylin基本概念四、Apache Kylin架构五、Apache Kylin环境部署六、Apache Kylin使用一、Apache Kylin概述Apache Kylin是一个开源的、分布式的分析型数据仓库 Apache Kylin提供Hadoop/Spark之上的SQL查询接口及多维分析(OLAP)能力 Apache Kylin支持超大规模数据 Apache Kylin能在亚秒内

2021-08-18 20:52:34 11032

原创 大数据——Impala工具使用

一、Impala概述Impala是Cloudera公司推出,提供对HDFS、Hbase数据的高性能、低延迟的交互式SQL查询功能。基于Hive使用内存计算,兼顾数据仓库、具有实时、批处理、多并发等优点与Apache Hive有相同的元数据、SQL语法、ODBC驱动、用户界面 能直接对存储在HDFS和HBase中的数据提供快速、交互式SQL查询是CDH平台首选的PB级大数据实时查询分析引擎二、Impala优点熟悉的SQL接口 能够在Apache Hadoop中查询大量数据 集群环境

2021-08-17 22:55:52 17088

原创 Log4j使用教程

日志是应用软件中不可缺少的部分,Apache的开源项目log4j是一个功能强大的日志组件,提供方便的日志记录。在apache网站:jakarta.apache.org/log4j可以免费下载到Log4j最新版本的软件包。Maven工程中依赖如下:<dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.

2021-08-16 20:58:55 12434

原创 大数据——访问docker没有映射的端口号

方案1:将需要访问的端口号修改为已映射的端口号方案2:SSH隧道Mobxtermxshell

2021-08-11 20:46:43 11450

原创 大数据——任务调度器Azkaban介绍及安装

一、什么是Azkaban1.由Linkedln创建,用于运行Hadoop作业2.批处理工作流作业调度程序3.解决排序问题4.提供易于使用的Web用户界面来维护和跟踪工作流程二、常见的工作流调度器CrontabLinux系统自带,可以用来进行定时调度Oozie管理Hdoop作业(job)的工作流程的重量级调度管理系统Azkaban为了解决Hadoop的任务...

2021-08-11 20:31:24 11708

原创 大数据——Hive内外表区别、分区表、分桶表的使用

一、Hive内部表和外部表概念?区别?最适合的应用场景?首先弄清楚什么是元数据和表数据:元数据就是表的属性数据,表的名字,列信息,分区等标的属性信息,它是存放在RMDBS传统数据库中的(如,mysql)。表数据就是表中成千上万条数据了。hive的存储过程:启动hive时,会初始化hive,这时会在mysql中生成大约36张表(后续随着业务的复杂会增加),然后创建表,会在mysql中存放这个表的信息(不是以表的形式存在的,而是把表的属性以数据的形式放在mysql中,这样在hive中使用sql命令一样是

2021-08-10 16:59:13 11704

原创 大数据——Sqoop增量导入shell脚本

应用环境:在实际业务中,表中数据量大且历史数据不会被修改,成交订单数据,可以采用增量表导入#!/bin/bash#传入增量导入的起始日期,若不传,则默认为前一天args=$1dt=if [ ${#args} == 0 ] then dt=`date -d '1 days ago' +%Y%m%d` else dt=$1fisqoop job --delete bap_user_ordersqoop job --create bap_user_or.

2021-08-08 12:08:31 11206

原创 大数据——Sqoop全量导入shell脚本

应用环境:在实际业务中,表中数据经常会被修改,这些表只能采用全量导入而不能使用增量导入前期准备创建sqoop密码文件并上传至hdfsecho -n root > sqoopPWD.pwdhdfs dfs -mkdir -p /sqoop/pwdhdfs dfs -put sqoopPWD.pwd /sqoop/pwdrm -rf sqoopPWD.pwd创建sqoop job脚本#!/bin/bash#list为需要全量导入的表名list="cart code_br.

2021-08-08 11:36:04 11289

原创 大数据——Spark GraphX中算法介绍

一、ConnectedComponents算法ConnectedComponents即连通体算法用id标注图中每个连通体,将连通体中序号最小的顶点的id作为连通体的id。图关系如下时: //创建点 val vertexRDD: RDD[(VertexId, (String,Int))] = SC.makeRDD(Array( (1L, ("Alice", 28)), (2L, ("Bob", 27)), (3L, ("Char...

2021-08-07 11:02:28 11930

原创 大数据——利用shell脚本生成时间维度表

#!/bin/bash# 接收两个参数date1="$1"date2="$2"# 定义日期变量tempdate=`date -d "$date1" +%F`# 定义起始时间戳和终止时间戳,用来计算起始日期和终止日期中间的天数startdateSec=`date -d "$date1" +%s`enddateSec=`date -d "$date2" +%s`min=1# 计算起始日期和终止日期中间的天数max=`expr \( $enddateSec - $startdateS.

2021-08-05 22:34:29 11102

原创 大数据——利用Mysql存储过程生成订单数据

#如果存在则删除存储过程DROP PROCEDURE IF EXISTS usp_generate_order_data;#指定分隔符为//DELIMITER //#创建存储过程CREATE PROCEDURE usp_generate_order_data()BEGIN #如果存在则删除该临时表 DROP TABLE IF EXISTS tmp_sales_order; #创建临时表,取sales_order的表结构 #where 1=0 表示只取表结构,不需要数.

2021-08-05 21:59:41 11641

原创 大数据——Spark GraphX介绍

一、GraphX介绍Spark GraphX是一个分布式图处理框架,它是基于Spark平台提供对图计算和图挖掘简洁易用的而丰富的接口,极大的方便了对分布式图处理的需求。众所周知,社交网络中人与人之间有很多关系链,例如Twitter、Facebook、微博和微信等,这些都是大数据产生的地方都需要图计算,现在的图处理基本都是分布式的图处理,而并非单机处理。Spark GraphX由于底层是基于Spark来处理的,所以天然就是一个分布式的图处理系统。图的分布式或者并行处理...

2021-08-04 22:02:08 16788 1

原创 大数据——Sqoop常用命令及应用场景

一、Sqoop概述Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。对于某些NoSQL数据库它也提供了连接器。Sqoop,类似于其他ETL工具,使用元数据模型来判断数据类型并在数据从数据源转移到Hadoop时确保类型安...

2021-08-03 22:28:07 11872

原创 大数据——那些年走过的坑(异常报错解决方案,持续更新)

1. Sqoop将mysql中表导入到hive遇到 ERROR hive.HiveConfig: Could not load org.apache.hadoop.hive.conf.HiveConf. Make sure HIVE_CONF_DIR is set correctly.2021-08-03 21:13:28,937 ERROR hive.HiveConfig: Could not load org.apache.hadoop.hive.conf.HiveConf. Make sure

2021-08-03 17:34:12 12329

原创 大数据——环境搭建

一、Docker介绍Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise

2021-08-02 22:15:21 11042

原创 大数据——SparkSQL练习题

现有学生成绩表、学生信息表、老师信息表和课程信息表,根据要求得到相应的结果import java.io.{FileWriter, PrintWriter}import org.apache.spark.SparkConfimport org.apache.spark.rdd.RDDimport org.apache.spark.sql.{DataFrame, Dataset, Row, SparkSession}import org.apache.spark.sql.express.

2021-08-02 17:44:35 11328

空空如也

空空如也

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

TA关注的人

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