大数据
文章平均质量分 87
wangzhongyudie
这个作者很懒,什么都没留下…
展开
-
Hive学习笔记:05Hive中常用分析函数使用解析
本文将介绍Hive SQL中常用的窗口分析函数的使用,这些函数的用法不仅仅适用于Hive,对于很多数数据库来说同样也适用,比如SParkSQL,FlinkSQL以及Mysql8,Oracle,MSSQL等传统的关系型数据库。原创 2022-11-23 01:05:22 · 1275 阅读 · 2 评论 -
Hive学习笔记:04 SQL的窗口函数、OVER的使用
本文将介绍Hive SQL中窗口函数、分析函数以及Over的使用,其实不仅仅是Hive,对于很多数数据库来说同样也适用,比如Mysql8,Oracle,MSSQL等传统的关系型数据库。原创 2022-11-18 19:01:01 · 1289 阅读 · 0 评论 -
ClickHouse学习笔记:01数据类型和基本DDL
在DDL中的枚举类型也可以使用Enum(‘SZ’=0,‘SH’=1) 这种方式进行定义,ClickHouse会根据枚举的值隐式转换为Enum8或者Enum16,如果枚举的值超过了Int16的表数范围,则会报错。2、ClickHouse自身的数据类型是区分大小写的,例如Int8 就只能这样写,不能写成int8,但是如果是兼容Mysql的数据类型,则既可以大写也可以小写,如BIGINT和bigint都是可以的。简单的查询有非常高的性能,多用于数据量不大,而又需要非常非常高的性能的场景下。原创 2022-11-16 00:45:34 · 737 阅读 · 0 评论 -
Maxwell 配置实时将MySQL数据同步到Kafka
如果初始时数据表中就有数据,但是后面才配置的maxwell,那么初始时的数据是没有监听到binlog的,也就没办法被maxwell同步到Sink。Maxwell是一个通过解析MySQL的binlog日志,伪装成Mysql的slave实时将master的数据变化同步给外部系统的一个工具。在存放maxwell元数据的mysql服务器(可以与被同步数据的Mysql服务器不是同一个)上中创建maxwell数据库,用于存放maxwell的元数据。JDK的版本太低,升级JDK的版本就可以解决。原创 2022-10-24 17:50:56 · 1998 阅读 · 0 评论 -
Flume学习笔记:02-Flume Agent内部原理和事务机制
本文详细的总结了Flume的内部对数据的处理流程和Flume的事务机制,通过此文可以非常清晰的了解到数据在Flume中是如何被处理的,同时也可以了解Flume为什么能够保证数据不会丢失。原创 2022-10-20 00:37:31 · 735 阅读 · 0 评论 -
Azkaban4.0.0编译和部署
本文详细的介绍了如何编译和搭建Azkaban4.0.0的环境,可以让后来者少走弯路,避开很多的雷区,大大节省后来者的时间和降低操作的难度。原创 2022-10-10 18:28:02 · 1908 阅读 · 1 评论 -
SPark学习笔记:14 Spark Stream的Window操作
Spark DStream提供了Window操作,我们可以使用Window算子对数据进行一系列的算子运算。和Flink不同,Spark DStream提供的window操作比较简单。只能基于数据的处理时间来进行运算。Spark的窗口可以分为滚动窗口和滑动窗口两类。滚动窗口窗口的大小是固定大小的时间间隔窗口与窗口之间无交集。窗口每次滑动的步长等于窗口的大小滑动窗口窗口的大小是固定大小的时间间隔窗口与窗口之间有交集。窗口每次滑动的步长小于窗口的大小。原创 2022-09-07 00:48:00 · 505 阅读 · 0 评论 -
Flume学习笔记:01-Flume的安装与简单入门示例
Flume是一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。基于流式架构,使用灵活简单,最主要的作用就是读取服务器本地磁盘的数据,将数据写入到HDFS。原创 2022-08-30 18:44:22 · 749 阅读 · 0 评论 -
SPark学习笔记:13 Spark Streaming 的Transform算子和Action算子
和RDD类似,DStreams也有一些转换算子用于处输入流中的数据。DStream中有很多转换算子和RDD的转换算子一样,同时也提供了一些额外的算子。此文将总结DStreams的各种算子的使用。原创 2022-08-17 18:21:47 · 1163 阅读 · 0 评论 -
SPark学习笔记:11 SparkSQL 的用户自定义函数UDF、UDAF、UDTF
本文详细的介绍了SparkSQL中用户自定义UDF、UDAF、UDTF函数的实现,并提供完整的示例讲解每一种用户自定义函数的实现。原创 2022-08-01 18:50:24 · 1371 阅读 · 0 评论 -
SPark学习笔记:10 SparkSQL 数据源之Spark on Hive
ApacheHive是Hadoop上的SQL引擎,SparkSQL编译时可以包含Hive支持,也可以不包含。包含Hive支持的SparkSQL可以支持Hive表访问、UDF(用户自定义函数)以及Hive查询语言(HiveQL/HQL)等。需要强调的一点是,如果要在SparkSQL中包含Hive的库,并不需要事先安装Hive。一般来说,最好还是在编译SparkSQL时引入Hive支持,这样就可以使用这些特性了。...原创 2022-07-27 00:20:13 · 789 阅读 · 0 评论 -
SPark学习笔记:09SparkSQL 数据源之文件和JDBC
SparkSQL支持通过DataFrame的接口操作各种各样的数据源。DataFrame既能够使用传统的算子做转换操作,也可以通过注册成临时视图的方式通过SQL来操作。这篇文章将总结Spark的各种数据源,以及如何将数据落地到文件或者传统的关系型数据库中。...原创 2022-07-26 16:21:45 · 715 阅读 · 0 评论 -
SPark学习笔记:08-SParkSQL的DataFrame和DataSet操作
在Spark中DataFrame是一种以RDD为基础的分布式数据集,类似于传统数据库的二维表格。和python的Pandas的DataFrame非常类似。DataFrame和RDD的区别主要在于,DataFrame带有Schema元信息,即DataFrame锁表示的二维表格数据集的每一列都带有名称和类型。DataSet是分布式的数据集合,在Spark1.6中添加的一个新的抽象,是DataFrame的一个扩展。DataSet和DataFrame的关系DataSet的特性。...原创 2022-07-22 15:27:09 · 1021 阅读 · 0 评论 -
SPark学习笔记:06-SPark的累加器和广播变量
Spark核心的三大数据结构是RDD、累加器、和广播变量。前面的文章中已经详细的讲解了RDD的使用,在此文中将详细的讲解累加器和广播变量的使用。原创 2022-07-19 18:34:26 · 481 阅读 · 0 评论 -
SPark学习笔记:05-SPark RDD的持久化
我们知道RDD是不存储数据的,由上面的流程我们知道,在Action算子触发执行完毕后启动单独的job来执行将RDD的数据写入到checkpoint目录中,这时RDD的计算已经完成,RDD中没有存储数据,就需要重新从头开始计算得出RDD的数据,再写入到checkpoint目录中,效率会比较低,所以推荐和cache或者persist一起使用,这样就不需要重新计算RDD的数据。当我们持久化一个RDD时,每个节点将其所计算的每个分区持久化到内存中,这样用到这些数据的其他的行动算子就可以复用这一部分数据。......原创 2022-07-15 18:14:11 · 646 阅读 · 0 评论 -
SPark学习笔记:04-SPark RDD的Transformations和Action算子操作
Rdd的支持两种类型的算子操作,一类是Transformations,一类是Action算子。本文以代码结合文字的形式最全面,最详细的总结了Spark中的各类算子的操作。原创 2022-07-15 00:18:03 · 1030 阅读 · 0 评论 -
SPark学习笔记:03-SPark的RDD详解
Resilient Distributed Datasets(RDDs),中文名称是弹性分布式数据集。Spark的所有操作围绕着RDDs展开。它是一组可容错的、可并行操作的数据的集合。我们可以通过两种方式来创建一个RDDs:基于文件创建RDD深入理解RDDRDD(Resilient Distributed Dataset),弹性分布式数据集。它具有以下5大特性:要理解以上几点,我们先来看一张RDD的数据图:在上面的示例中结合上图所示,我们基于文件使用sparkContext.TextFile()创原创 2022-07-12 18:58:59 · 665 阅读 · 0 评论 -
Hive学习笔记:03Hive的数据类型与HiveQL的常用操作
Hive的SQL“方言被称为”HiveQL,他是SQL-92、MYSQL和Oracle SQL语言的混合体。所以很多操作都和传统的数据库的操作非常类似,尤其是MySQL。Hive的基本类型和MySQL数据库的类型基本一致,但是也有些细微的区别:HiveQL数据库DATABASE/SCHEMAHive中也有数据库的概念,使用HiveQL的操作如下:示例删除数据库语法:示例:查看数据库切换数据库语法:use + 数据库名称示例:表的DDL操作创建表语法:原创 2022-07-12 00:16:05 · 416 阅读 · 0 评论 -
SPark学习笔记:01-SPark集群搭建之Standalone模式
Spark集群有4种搭建的方式,分别是Standalone、Yarn、Mesos和Kubernetes的方式。其中Mesos以前在国外用的比较多,现在新的版本中已经被移除了。关闭防火墙ssh免密登录安装JDK,配置环境变量等搭建Hadoop集群,搭建方式见:《Hadoop学习笔记系列:01-Hadoop-Yarn高可用HA集群的搭建》安装配置步骤1、下载安装包到官网下载对应Hadoop版本的Spark安装包,由于我的hadoop 集群是Hadoop3.3.1版本的,所以我准备安装Spark原创 2022-07-11 19:26:51 · 376 阅读 · 0 评论 -
SPark学习笔记:02-SPark简单应用WordCount
File–>Project Structure -->Modules,添加scala依赖库Spark统计WordCount编写完成后可以在idea中运行测试,看到运行结果。Tips:如果需要提交到spark集群上运行,需要先打成jar包,然后使用命令的方式提交。当然在代码中conf.setMaster()就不能写成“local”了。总结开发一个Spark应用的流程:如果报错Failed to load class可能是因为使用Scala打包时没有生成class文件,这时需要在pom.xml中添加原创 2022-07-11 19:24:27 · 1098 阅读 · 0 评论 -
Hive学习笔记:01-Hive环境的搭建
Hive安装包的官网地址是https://dlcdn.apache.org/hive/hive-3.1.3/apache-hive-3.1.3-bin.tar.gz在shell中执行命令,下载hive的安装包2、解压文件3、配置hive的环境变量touch /etc/profile.d/apache-hive.sh ,在文件中添加下列内容:刷新环境变量,使配置生效4、在HDFS中创建hive的相关目录由于hive依赖hadoop,所以必须在HIVE的安装机器上已经部署好hadoop环境,并且配原创 2022-06-15 16:41:07 · 308 阅读 · 0 评论 -
Hadoop学习笔记系列:06-MapReduce的详细过程图解及源码解读之Map
一个MapReduce作业是客户端需要执行的一个工作单元:它包括输入数据,MapReduce程序和配置信息。Hadoop将作业分为若干个task来执行,其中主要包括两类:map任务和reduce任务。这些任务运行在集群的节点上,并通过YARN进行调度。一个完整的MapReduce程序由client,map,reduce这三大块组成。由上图我们知道,有多少一个Input Split就会对应多少个map,hadoop会为每一个input split创建一个map任务,所以map的数量是由input split的原创 2022-06-07 15:59:55 · 608 阅读 · 0 评论 -
Hadoop学习笔记系列:05-MapReduce的详细过程图解及源码解读之Client
一个MapReduce作业是客户端需要执行的一个工作单元:它包括输入数据,MapReduce程序和配置信息。Hadoop将作业分为若干个task来执行,其中主要包括两类:map任务和reduce任务。这些任务运行在集群的节点上,并通过YARN进行调度。一个完整的MapReduce程序由client,map,reduce这三大块组成。Hadoop将MapReduce的输入数据划分成为等长的的小数据块,称为输入分片(Input Split),如上图所示。Hadoop为每个分片构建一个map任务,并由改任务来运行原创 2022-06-07 15:59:14 · 345 阅读 · 0 评论 -
Hadoop学习笔记系列:04-第一个MapReduce程序WordCount
文章目录一、idea新建maven项目,配置scala环境二、配置pom.xml,添加依赖三、编写代码,完整的代码如下:四、打成jar包,上传到Linux服务器上,执行命令:五、总结入口类的编写流程Mapper类的实现Reduce类的实现六:可能遇到的错误和应当避免的坑小心导包错误,导致程序的错误一、idea新建maven项目,配置scala环境File–>Project Structure -->Modules二、配置pom.xml,添加依赖<?xml version="1.0"原创 2022-05-26 18:59:43 · 173 阅读 · 0 评论 -
Hadoop学习笔记系列:03-Hadoop-Hdfs的Java Api的常用操作
文章目录概述一、添加pom.xml依赖HDFS的java API 操作创建Hdfs的FileSystem 环境创建目录判断文件或者目录是否存在创建文件上传本地文件到hdfs下载文件到本地删除文件或目录查看文件列表信息使用文件流的方式写hdfs文件使用文件流的方式下载文件完整的代码示例报错:java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset.报错解决报错: Permission denied: user=TianTi原创 2022-05-26 00:25:19 · 722 阅读 · 0 评论 -
Hadoop学习笔记系列:02-Hadoop-Hdfs的shell命令的常用操作
文章目录hdfs的dfs shell常用命令操作hdfs dfs命令的所有操作权限相关操作文件相关操作上传本地文件到hadoop的dfs文件系统将文件从hadoop的hdfs文件系统下载到本地新建文件:touch查找文件:find查看文件内容文件重命名:mv删除文件:rm清空文件内容直到指定的长度:truncate + 文件大小目录相关操作创建目录 mkdir删除目录 rmdirhdfs 的常用命令查看hadoop的版本信息:hdfs version获取hadoop的配置信息hdfs的dfs shell常原创 2022-05-26 00:24:22 · 893 阅读 · 0 评论 -
FLink学习笔记:13-Flink 的Table API的Window和UDF
文章目录Table API的Window操作Group Windows时间语义的设定和watermark的生成分组滚动窗口方式一:Table API的实现方式二:SQL实现完整示例分组滑动窗口方式一:Table Api实现方式二:SQL实现分组会话窗口方式一:Table API 实现方式二:SQL实现OverWindow方式一:Table Api实现方式二:SQL实现Flink Table的函数和UDF常用的系统内置函数数学计算函数字符串处理函数时间处理函数类型转换函数自定义函数UDF标量函数 Scalar原创 2022-05-17 18:56:30 · 904 阅读 · 0 评论 -
FLink学习笔记:12-Flink 的Table API的常用操作
文章目录Table Api的常用操作创建表环境从datastream创建一张表指定主键字段取别名提取时间字段(用于timewindow)Watermark创建临时视图创建临时表或者表查询操作查询选取其中某些列distinct去重查询过滤filter分组聚合Table Api的常用操作创建表环境//构建环境val env = StreamExecutionEnvironment.getExecutionEnvironment//构建table环境val tableEnvironmentSetti原创 2022-05-13 19:11:18 · 2096 阅读 · 1 评论 -
FLink学习笔记:11-Flink 的Table API的Connector操作
文章目录创建表环境创建表从DataStream创建表使用tableAPI定义表结构使用SQL创建表结构FLINK-SQL的数据类型语法:Formats:CSV格式表JSON格式表Raw 格式表Orc 格式表使用SQL在kafka中创建表依赖SQL语句kafka参数说明使用SQL在Elasticsearch中创建表使用SQL创建JDBC表完整示例从Kafka读取数据,做转换后,将结果插入到kafka创建表环境//创建tableSettingval tableEnvironmentSettings =原创 2022-05-12 15:22:58 · 2087 阅读 · 0 评论 -
FLink学习笔记:10-Flink 的状态一致性与容错机制
文章目录一致性级别端到端(end-to-end)状态一致性Sink端实现方式幂等写入事务性(Transactional)写入不同Source和Sink的一致性保证Flink CheckpointFlink的checkpoint的生成算法图解SavepointsFlink开启checkpoint的API操作FLink的状态后端MemoryStateBackendFsStateBackendRocksDBStateBackend一致性级别在流处理中,一致性可以分为如下3个级别:at-most-once:原创 2022-05-10 15:43:55 · 732 阅读 · 0 评论 -
FLink学习笔记:09-Flink 的状态编程应用
文章目录概述无状态流计算有状态流计算状态分类:算子状态(Operator State)键控状态(Keyed State)ValueState[T]ListState[T]MapState[KU,VU]ReducingState[T]AggregatingState[I, O] 聚合状态状态运用编程实例概述流式计算分为无状态和有状态两种情况。无状态流计算无状态的计算观察每个独立事件,并根据最后一个事件输出结果。无状态流处理过程如下:无状态流每次只转换处理一条输入记录,并且只根据最新的输入记录输出原创 2022-05-09 15:56:22 · 620 阅读 · 0 评论 -
FLink学习笔记:08-Flink 的ProcessFunction API操作
文章目录概述KeyedProcessFunctionTimerService和定时器ProcessFunction实现侧输出流概述Flink中的转换算子是无法访问事件的时间戳信息和水位线信息,但是在一些应用场景下,这些信息却十分重要。基于此,DataStream API提供了一系列的Low-Level转换算子。可以访问时间戳、watermark以及注册定时事件。还可以输出特定的一些事件,例如超时事件等。Process Function用来构建时间驱动的应用以及实现用户自定义的业务逻辑。Flink 提供原创 2022-05-09 15:55:22 · 245 阅读 · 0 评论 -
FLink学习笔记:07-Flink 的时间语义和Watermark
文章目录时间语义Event Time 事件时间Ingestion Time:Processing Time:处理时间WaterMark时间语义基于时间的窗口分配器既可以处理数据的**“事件时间”也可以处理数据的“处理时间”**(Flink处理数据的那一个时间点)。Event Time 事件时间它通常由事件中的时间戳描述,例如采集的日志数据,每一条记录都会记录自己的生成时间,Flink通过时间戳分配器访问时间时间戳。env.setStreamTimeCharacteristic(TimeChara原创 2022-05-07 01:23:32 · 1833 阅读 · 0 评论 -
FLink学习笔记:06-Flink 的Window
文章目录WindowWindow的作用Window的类型滚动窗口(Tumbling Window)滑动窗口会话窗口Flink的内置窗口分配器Tumbling time windows 滚动时间窗口Sliding time windows 滑动时间窗口Tumbling count windows 滚动窗口Sliding count windows 滑动窗口Session windows 会话窗口Global window 全局窗口窗口应用函数增量聚合函数(incremental aggregation fu原创 2022-05-05 18:58:18 · 687 阅读 · 0 评论 -
FLink学习笔记:05-Flink DataStream的Sink操作
文章目录文件SinkKafkaSinkElasticSearchSinkRedis SinkJDBC Sink文件Sink从Kafka中读取数据,数据做转换后,并将数据写入到文件中package com.hjt.yxh.hw.apitestimport org.apache.flink.api.common.eventtime.WatermarkStrategyimport org.apache.flink.api.common.serialization.{SimpleStringEncode原创 2022-05-05 18:56:38 · 1380 阅读 · 0 评论 -
Flink学习笔记:Kafka集群搭建
文章目录集群规划环境准备、kafka安装包下载解压配置文件server.properties启动器群kafka-topics.sh操作创建topic查看topic列表查看指定topic的具体信息删除topic运行一个productor,发送消息运行一个consumer,接收消息集群规划Host | ip|—|—|—k8s-node3 | 192.168.0.52 |k8s-node5 | 192.168.0.109 |k8s-node8 | 192.168.0.115 |环境准备、安装好J原创 2022-04-28 19:01:43 · 1731 阅读 · 0 评论 -
FLink学习笔记:01-Flink集群搭建
文章目录集群规划1、下载安装包2、解压文件3.配置Flinkmasters文件workersflink-conf.yaml环境变量启动集群集群规划机器名称IP角色k8s-node3192.168.0.52masterk8s-node5192.168.0.52slavek8s-node8192.168.0.52slave1、下载安装包下载对应scala版本的flink,1.14支持hadoop2.X以上的版本在K8s-node3服务器上执行操作:w原创 2022-04-27 00:47:08 · 334 阅读 · 0 评论 -
FLink学习笔记:04-Flink DataStream的TransForm操作
文章目录mapflatMapfilterkeyBy与滚动聚合算子keyBy与reduce分流 split和Select合流UnionConnectCoMapCoFlatMapmap说明: 一个输入对应一个输出示例代码:package com.hjt.yxh.apitestimport org.apache.flink.api.common.functions.{FilterFunction, FlatMapFunction, MapFunction, ReduceFunction}import原创 2022-04-27 00:42:21 · 295 阅读 · 0 评论 -
FLink学习笔记:03-Flink DataStream的数据源Source
文章目录1.从集合或者Elements中读取数据2.从文件中读取数据流3.从Kafka中读取数据流4.自定义Source一个Flink程序主要由Source + TransForm + Sink这三大部分组成,下面主要总结常见的Source的API操作1.从集合或者Elements中读取数据package com.hjt.yxh.hw.apitestimport org.apache.flink.api.scala._import org.apache.flink.streaming.api.原创 2022-04-26 18:43:29 · 1218 阅读 · 0 评论 -
FLink学习笔记:02-Flink简单应用WordCount
文章目录idea新建maven项目,配置scala环境配置pom.xmlFlink 批处理运行时如果出现的报错:Flink流处理scala代码可能遇到的问题提交作业命令行模式提交作业:WEB端提交作业idea新建maven项目,配置scala环境File–>Project Structure -->Modules,添加scala依赖库配置pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http原创 2022-04-24 18:10:26 · 3890 阅读 · 0 评论