自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 19-flink-1.10.1-Table API 和 Flink SQL 的 函数

89

2021-11-06 23:27:30 1610 1

原创 18-flink-1.10.1-Table API & Flink SQL

1Table API 和Flink SQL 是什么Flink 对流处理和批处理,提供了统一的上层APITable API 是一套内嵌在Java 和Scala 语言中的查询API,它允许以非常直观的方式组合来自一些关系院选符的查询Flink 的SQL支持基于实现了SQL标准的Apache calcite2 简单使用table api 和 flink SQL2.1 引入依赖① flink-table-common通过自定义函数,格式等扩展表生态系统的通用模块。② flink-..

2021-11-03 23:50:08 658

原创 17-flink-1.10.1-flink 状态一致性

1

2021-10-24 17:16:21 717

原创 16-flink-1.10.1-flink 容错机制

1 一致性检查点(checkpoint)2 从检查点恢复状态3 flink 检查点算法设置重启策略4 保存点(save points)

2021-10-23 23:02:19 135

原创 15-flink-1.10.1-flink 状态后端

1 状态后端保存状态有专门的一个组件来做。不需要我们额外开发2选择一种方式的状态后端需要根据自己的业务需要选择一种适合自己的状态后端方式3 状态后端的设置3.1MemoryStateBackendenv.setStateBackend(new MemoryStateBackend()) // MemoryStateBackend3.2FsStateBackendenv.setStateBackend(new FsStateBackend("/date/...

2021-10-23 15:51:09 97

原创 14-flink-1.10.1-flink ProcessFunction API

1 ProcessFunction API我们之前学的转换算子是无法获取访问时间的时间搓信息和水位线信息的。而这在一些应用场景下,极为总要,例如MapFunction这样的map转换算子就无法访问时间戳或者当前时间的事件时间。基于此,DataStream API 提供了一些列的Low-level转换算子。可以访问时间戳,watermark以及注册定时事件。还可以输出特定的一些事件。例如超时时间等。process function 用来构建事件驱动的应用以及实现自定义的业务逻辑(使用之前的windo.

2021-10-17 16:19:51 110

原创 13-flink-1.10.1-Flink状态管理

1 Flink 中的状态由一个任务维护,并且用来计算某个结果的所有数据,都属于这个认为的状态 可以认为状态就是一个本地变量,可以被任务的业务逻辑访问,(我们自己定义的简单的本地变量是不可以的,因为flink是分布式的,要保证状态一致性需要序列化反序列化,flink底层已经实现一套机制。) Flink会进行状态管理,包括状态一致性,故障处理以及高效存储和访问,以便开发人员专注于应用程序的逻辑 其实对于一些简单的算子比如map filter 可以没有状态,一些复查的算子比如reduce,比如窗口.

2021-10-16 22:50:09 341

原创 12-flink-1.10.1-Flink中的时间语义和watermark

1 Fink 中的时间语义Event Time :事件产生的时候的时间,比如日志访问日志产生的时间Ingestion Time: 数据进入flink的时间Processing Time:执行操作算子的本地系统时间,与机器无关1.1 哪种时间语义更重要不同的时间语义有不同的应用场景我们往往更关心事件的时间(Event Time)用星球大战电影拍摄举例说明 比如上面的星球大战系列电影,如果我们想统计的的是事件发生的先后顺序呢那就要关注电影情节里故事发生的...

2021-10-07 15:11:25 342

原创 11-flink-1.10.1- Flink window API

1 window api 概念一半真实的流都是无界的,怎样处理无界的流? 可以把无界的流进行切分,得到有限的数据集进行处理-也就是得到了有界的流进行处理。 窗口就是将无限流切割成有限流的一种方式,它会将有限的流分发到有限大小的桶里(bucket)进行处理2 window api 类型2.1 时间窗口(Time Window) (1)滚动的时间窗口将数据依据固定的时间窗口长度对数据进行切分 时间固定,窗口长度相同,没有重叠 (2)滑动的时间窗口...

2021-09-25 00:12:28 115

原创 centos7安装elasticsearch-6.6.0

1 下载elasticsearch-6.6.0[liucf@node1 softfile]$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.6.0.tar.gz[liucf@node1 softfile]$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.6.0.tar.gz--2021-0

2021-09-19 23:42:51 235

原创 redis 安装

1 下载wget http://download.redis.io/releases/redis-6.0.9.tar.gz2 解压tar -xzvf redis-6.0.9.tar.gz -C ../soft3安装3.1 进入解压目录[liucf@node1 soft]$ cd redis-6.0.9/3.2安装gcc编译环境如果已经安装过了,那么跳过本步骤[liucf@node1 redis-6.0.9]$ yum install gcc-c++..

2021-09-19 17:09:10 202

原创 10-flink-1.10.1- flink Sink api 输出算子

1 flink sink2 file sinkpackage com.study.liucf.unbounded.sinkimport com.study.liucf.bean.LiucfSensorRedingimport org.apache.flink.api.common.serialization.SimpleStringEncoderimport org.apache.flink.core.fs.Pathimport org.apache.flink.streaming.

2021-09-13 23:47:45 311

原创 09-flink-1.10.1- flink的编程风格UDF函数

1 实现UDF函数可以更细粒度的对流进行控制flink暴露了所有udf函数的接口,实现方式是接口或者抽象类比如MapFunction,FilterFunction,ProcessFunction等等。我们很容易在flink的算子里发现所有的算子都有两份重载的函数,①一个可以直接传入一个lamda表达式,②一个可以传入一个函数类,这里的UDF函数说的就是②说说的函数类package com.study.liucf.unbounded.udfimport com.study.liucf.bea

2021-09-12 23:50:26 165

原创 08-flink-1.10.1- flink Transform api 转换算子

1 简单转换算子1.1 map来一个处理一个,one by one1.2 flatMap相当于先进行map操作后又进行了flat一个扁平化的操作,可以简单理解成列传行的操作1.3 filter返回true才继续往下传递数据2 键控流转换算子2.1 keyby同一个分区里有不同key的元素,但是同一个key的元素肯定要进入同一个分区2.2 滚动聚合算子 rolling aggregation为什么叫做滚动聚合算子呢,是数据源源...

2021-09-10 00:07:32 150

原创 07-flink-1.10.1- 用户自定义 flink source api

1 定义自己想要的流返回值数据类型package com.study.liucf.unbounded.source/** * @Author liucf * @Date 2021/9/8 */case class LiucfSensorReding(id:String,timestamp:Long,temperature:Double)2 定义自己的读取数据源的类package com.study.liucf.unbounded.sourceimport java.util

2021-09-08 23:48:50 118

原创 06-flink-1.10.1-flink source api

1 flink 从集合中读取数据1.1 代码package com.study.liucf.bounded.api.sourceimport org.apache.flink.streaming.api.scala._/** * @Author liucf * @Date 2021/9/5 */case class SensorReding(id:String,timeStamp:Long,temperature:Double)object CollectionSource {

2021-09-05 22:54:12 178

原创 05-flink-1.10.1-flink on yarn 流处理WordCount

1 启动相应服务① 启动 hdfs ,启动yarn② 事先部署好flink2 打包WordCount代码成jar包3 上传打包好的jar到客户端机器4 flink on yarn4.1 session clusterSession-cluster模式需要先启动集群,然后在提交作业,接着会向yarn申请一块空间,资源永远保持不变,如果资源满了,下一个作业就无法提交,只能等到yarn中的其中一个作业执行完成后,释放了资源,下个作业才会正常提交,所有作业共享...

2021-08-31 00:06:59 296 2

原创 04-flink-1.10.1-流处理WordCount代码里控制并行度

接续03-flink-1.10.1-流处理WordCount1 为什么同一个单词总是在同一个线程里打印输入单词输出可见hello这个单词多次输入总是在线程好3里输出这是为什么呢?这是因为flink实际后台是对单词分别做了hash处理,通过观察应该是先取单词的hash值然后用对处理数据的线程数(并行度)取模/取余的到的索引hello总是会进入线程3打印2 设置全局并行度参数 /**创建flink流式处理环境*/ val env: StreamExecutio...

2021-08-20 23:34:32 207

原创 03-flink-1.10.1-流处理WordCount

目录1 开启一个本地9999的TCP协议端口2 编写第一个flink流处理代码3 验证1 开启一个本地9999的TCP协议端口可以自己在linux 或者windows里安装nmap-ncat由客户端主动发起连接,一旦连接必须由服务端发起关闭[liucf@node1 ~]$ nc -l 99992 编写第一个flink流处理代码package com.study.liucf.unboundedimport org.apache.flink.api.java...

2021-08-16 23:50:39 125

原创 02-flink-1.10.1-离线开发WordCount

package com.study.liucf.boundedimport org.apache.flink.api.scala.ExecutionEnvironmentimport org.apache.flink.api.scala._/** * @Author liucf * @Date 2021/8/15 * flink1.10.1以Wordcount为例处理离线有界数据 * 一共分为4步: * ① 构建flink离线执行环境 * .

2021-08-15 22:56:54 148

原创 01-flink-1.10.1开发flink代码需要的maven依赖

1 flink-scala依赖 <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-scala_2.12</artifactId> <version>1.10.1</version> </dependency>2flink-streaming-scala<depen.

2021-08-15 22:27:08 718

原创 本地项目通过git上传到gitee

目录1 安装本地git客户端2 注册Gitee账号3 配置SSH公钥到gitee4 gitee 上建议个项目5 本地建一个maven 项目 flink-liucf-study6 本地目录连接到远程gitee仓库7 克隆远程gitee 代码到本地8 忽略指定文件和目录9 添加跟踪到的文件到本地缓存仓库10 给push 添加注释11 push 到gitee 远程仓库12 项目src目录下编写代码1 安装本地git客户端 自行安装2 注...

2021-08-14 23:56:21 141

原创 VMWera16+Centos7安装

1.软硬件准备软件:推荐使用 VMware,我用的是 VMware 16镜像:CentOS-7-x86_64-DVD-2009.iso硬件:因为是在宿主机上运行虚拟化软件安装centos,所以对宿主机的配置有一定的要求。最起码I5CPU双核、硬盘500G、内存4G以 2.虚拟机准备1.打开VMware选择新建虚拟机 2.典型安装与自定义安装典型安装:VMware会将主流的配置应用在虚拟机的操作系统上,对于新手来很友好。自定义安装:自定义安装可以针对性的把一些资源加..

2021-06-20 17:02:02 547 1

原创 flink-1.11.0+hadoop3.2.2 部署flink on yarn

https://flink.apache.org/downloads.html#flink

2021-06-20 14:11:47 1591

原创 scala2.12+kafka2.7.1安装

环境: centos7scala2.121 下载上传到机器解压官网下载https://kafka.apache.org/downloads

2021-06-19 23:57:30 403 2

原创 spark3.1.1安装(spark on yarn)

环境scala2.12.12hadoop3.2.2centos7

2021-06-18 00:13:56 4302 1

原创 Hbase2.3.5安装

1 下载https://mirrors.tuna.tsinghua.edu.cn/apache/hbase/2.3.5/

2021-05-30 23:43:14 1213 4

原创 centos7+hadoop3.2.2+mysql5.7.33安装hive3.1.2

1 下载hive安装包http://ftp.twaren.net/Unix/Web/apache/hive/hive-3.1.2/apache-hive-3.1.2-bin.tar.gz2 上传解压[liucf@node1 softfile]$ tar -zxf apache-hive-3.1.2-bin.tar.gz -C ../soft修改一下解压后的文件目录名,是自己看着舒服点,可以不做[liucf@node1 soft]$ mv apache-hive-3.1.2-bin a

2021-05-29 23:59:32 1570 3

原创 centos7 安装mysql-community-5.7.33

1 下载https://downloads.mysql.com/archives/cluster/2检查系统总是否原有mysql如果有删除[liucf@node1 ~]$ rpm -qa | grep mysql[liucf@node1 ~]$3 上传解压mysql tar 包[liucf@node1 softfile]$ tar -xvf mysql-cluster-community-7.6.17-1.el7.x86_64.rpm-bundle.tar -C mysql...

2021-05-23 14:39:11 1189

原创 WMware16+Centos7虚拟机 原本桥接模式改NAT模式的固定IP

达到的效果是自己的物理机可以自动获取ip,里面装的虚拟机ip固定,不随着网络环境变化ip变化1.设置虚拟机的网络连接方式-NAT最后“确定”2.配置虚拟机的NAT模式具体地址参数:(1)编辑--虚拟网络编辑器--更改设置(部分系统可能没有图中第2步)...

2021-05-23 12:58:10 343

原创 centos7安装zookeeper-3.6.3

1 下载https://www.apache.org/dyn/closer.lua/zookeeper/zookeeper-3.6.3/apache-zookeeper-3.6.3-bin.tar.gz2 解压[liucf@node1 softfile]$ tar -xzvf apache-zookeeper-3.6.3-bin.tar.gz -C /home/liucf/soft3 重命名文件目录和配置文件重命名目录[liucf@node1 soft]$ mv apache-z

2021-05-13 08:12:36 588 1

原创 hadoop3.2.2安装

参考:https://zhuanlan.zhihu.com/p/1163949451 准备机器集群规划 ip hostanem 配置 服务 192.168.109.151 node1 2c8g master 192.168.109.152 node2 2c4g 192.168.109.153 node3 2c4g 2 给普通用户liucf sudo 权限三...

2021-05-10 23:26:59 2286 9

原创 rank()dens_rank() row_number()区别

1 建测试表CREATE TABLE `user_login`( `brandid` int, `userid` string, `logindate` string)ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' STORED AS ORC;2 造数据insert into user_login (brandid,userid,logindate) VALUES (429,'1001','2021-05-01'),(42

2021-05-10 11:05:27 464 2

原创 intellij 通过database 连接hive

1 下载依jar备用hive-jdbc-uber-2.6.5.0-292.jar2 删除intellij 原有jar3 添加自己下载的driver包hive-jdbc-uber-2.6.5.0-292.jar4 配置HiveServer2点击 “+”号输入自定义名称,hiveservice2 所在主机ip,hiveserver2端口号,登录主机的用户名和密码点击ok后5 配置显示的hive库默认只显示default6 测试查...

2021-05-10 10:29:45 1376 2

原创 NodePade++常用技巧

1 替换行隔行重复内容比如下面实际去重后自由15个数字72369784 11087598397505709980702159750570910349244117037529975723621108759837236978411727147723697841108759833788154111086254110875983110875983723697843788154162615087236978411087598337881541108759837

2021-03-30 17:26:47 1529 1

原创 clickhouse分区操作实践

ClickHouse支持PARTITION BY子句,在建表时可以指定按照任意合法表达式进行数据分区操作,比如通过toYYYYMM()将数据按月进行分区、toMonday()将数据按照周几进行分区、对Enum类型的列直接每种取值作为一个分区等。数据Partition在ClickHouse中主要有两方面应用:在partition key上进行分区裁剪,只查询必要的数据。灵活的partition expression设置,使得可以根据SQL Pattern进行分区设置,最大化的贴合业务特点。对part

2020-12-09 00:00:01 13591 1

原创 clickhouse表引擎-合并树系列

Clickhouse 中最强大的表引擎当属MergeTree(合并树)引擎及该系列(*MergeTree)中的其他引擎。MergeTree系列的引擎被设计用于插入极大量的数据到一张表当中。数据可以以数据片段的形式一个接着一个的快速写入,数据片段在后台按照一定的规则进行合并。相比在插入时不断修改(重写)已存储的数据,这种策略会高效很多。本文结合官网,亲测实例追踪原理和规则,提出使用场景和注意事项

2020-11-10 20:19:25 3845 1

原创 clickhouse表引擎-日志引擎系列

这些引擎是为了需要写入许多小数据量(少于一百万行)的表的场景而开发的。面对的数据查询场景也比较简单,并且往往是一次写入多次查询,则日志家族系列的表引擎将会是一种不错的选择。TinyLog:不支持并发读取数据文件,查询性能较差;格式简单,适合用来暂存中间数据。StripLog:支持并发读取数据文件,查询性能比TinyLog好;将所有列存储在同一个大文件中,减少了文件个数。Log:支持并发读取数据文件,查询性能比TinyLog好;每个列会单独存储在一个独立文件中。

2020-11-10 16:13:25 633

原创 clickhouse 数据库引擎

您使用的所有表都是由数据库引擎所提供的默认情况下,ClickHouse使用自己的数据库引擎,该引擎提供可配置的表引擎和所有支持的SQL语法.除此之外,您还可以选择使用以下的数据库引擎:MySQL

2020-11-06 20:44:45 3191

原创 docker 安装clickhouse-server+clickhouse-client+Tabix

ClickHouse是一个由俄罗斯最大的搜索公司Yandex开源的列式数据库(DBMS),主要用于在线分析处理查询(OLAP),于2016年开源,采用C++开发。本文主要介绍相关组件使用docker进行安装,包括clickhouse-server ,clickhouse-client,clickhouse-tabix-web-client,以及安装过程中遇到的问题和解决方法

2020-11-06 14:50:37 6828 4

空空如也

空空如也

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

TA关注的人

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