自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一个数据小开发的博客

分享和记录数据开发工作中遇到问题的解决思路

  • 博客(55)
  • 资源 (5)
  • 收藏
  • 关注

原创 Flink On Hudi整个系列中可能遇到的问题

1、ERROR org.apache.hudi.sink.compact.CompactFunction [] - Executor executes action [Execute compaction for instant 20220331114224581 from task 0] errorERROR org.apache.hudi.sink.compact.CompactFunction [] - Executor execut...

2022-04-13 15:14:41 2210

原创 Flink CDC模式写入Hudi

1、前沿之前对数据湖的相关知识和怎么搭建都做了详细的讲解,感兴趣的可以去了解下数据湖基本概念--什么是数据湖,数据湖又能干什么?为什么是Hudi_一个数据小开发的博客-CSDN博客从0到1搭建数据湖Hudi环境_一个数据小开发的博客-CSDN博客接下来,就是Flink on Hudi的实战了,这一篇带来的CDC模式的入湖。2、实战2.1、启动本地环境export HADOOP_CLASSPATH=`$HADOOP_HOME/bin/hadoop classpat...

2022-04-13 14:48:43 2100

原创 Flink SQL Kafka写入Hudi详解

Flink读写Hudi案列详解

2022-04-13 14:30:10 4195 3

原创 从0到1搭建数据湖Hudi环境

一、目标在本地构建可以跑Flink-Hudi、Spark-Hudi等demo的环境,本地环境是arm64架构的M1芯片,所以比较特殊,如果采用Hudi官网的docker搭建,目前不支持,本人也在Hudi的github上提过此类需求,虽得到了响应,但还是在部署的时候会出问题,然后基于其实Hudi就是一种对存储格式的管理模式,此格式可以是HDFS,也可以是各大云厂商的文件存储系统,例如阿里云的OSS,华为云的OBS等,都是可以支持的,所以本地只需要部署一套Hadoop架构就可以跑起来相关的案...

2022-04-10 21:09:20 9348 3

原创 数据湖基本概念--什么是数据湖,数据湖又能干什么?为什么是Hudi

数据湖概念首次于2010年被James Dixon在其博客帖子(Pentaho, Hadoop, and Data Lakes | James Dixon's Blog)中提及 :数据湖的权威定义(来自维基百科):数据湖(Data Lake)是一个以原始格式存储数据的存储库或系统,它按原样存储数据,而无需事先对数据进行结构化处理。一个数据湖可以存储结构化数据(如关系型数据库中的表),半结构化数据(如CSV、日志、XML、JSON),非结构化数据(如电子邮件、文档、PDF)和...

2022-04-06 11:01:38 26348 1

原创 数据湖Hudi专栏系列带你深入了解不一样的大数据技术

1、数据湖是什么?能干什么?为啥是数据湖?2、从0到1本地搭建数据湖环境3、数据湖典型应用,Flink实时流写入数据湖,spark读取数据湖里的数据。我即将分如上三个模块进行详细的讲解。此专栏摒弃数据湖官方的docker demo,自己在本地根据实际情况进行的环境搭建,因为当下随之发展越来越多的人开始使用M1芯片的arm64架构的电脑系统。...

2022-03-31 20:57:42 1828 2

原创 Push master to origin/master was rejected by remote

很多人 ,百度半天网上都是教你们按照他们的解决方案来,但你们真的懂原因吗?其实不见其然,所以本篇就告诉你怎么去找到问题的具体的报错和解决它。现象描述很多人都是本地pull正常,push报错,而且基本都是报Push master to origin/master was rejected by remote这个错误,其实,大家可以不用网上搜索的,因为git本地的运行日志告诉你答案了,你只需要在Idea的左下角的git按钮,就能看到他的日志。这个时候,再根据日志中的提示来解决问题。常见错误权限不够本

2022-03-17 14:42:06 8976

原创 Mac安装brew

mac电脑上类似于centos服务器上的yum源安装程序的方法

2022-02-25 16:22:03 1103

原创 Flink查询关联Hbase输出

1、前言大家在开发Flink的时候,很多时候会把某些固定的维度信息存储在Hbase或者Redis等这些第三方库里,已方便来跟流发生关联查询输出。本文将从如何本地搭建一个Hbase环境开始讲起,到如何构建一个Hbase公共调用类,到如何构建一个异步调用Hbase的公共代码,再到最后实际调用代码后的输出。2、本地利用Docker搭建HBase环境本地如何搭建Docker环境,之前一篇博客中已经详细描述过,大家如果想学习如何搭建,可以去看下,地址如下:Docker入门-Windows 10&.

2022-02-24 18:47:50 5191 7

原创 Flink CEP结合案例详解

1、介绍FlinkCEP是在Flink之上实现的复杂事件处理(CEP)库。它允许您在无穷无尽的事件流中检测事件模式,使您有机会掌握数据中重要的内容。通常会用来做一些用户操作APP的日志风控策略等多种复杂事件,下面详细以用户连续10s内登陆失败超过3次告警为需求,进行全面讲解。1.1、整体需求数据详解图...

2022-02-19 00:11:56 2672 1

原创 Flink利用KafkaSource读取Kafka数据做为数据源

虎年第一篇:在Flink的1.13版本以后,官方对FlinkKafkaConsumer类进行了过期设置,所以最好用KafkaSource来进行读取数据。pom文件<dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-connector-kafka_2.12</artifactId> <version>1.14.3</version>

2022-02-07 18:38:51 6191 3

原创 如何让Flink CDC的结果输出的更优雅一点?

上一篇博客中,我们提到了如何去通过StreamAPI访问Flink CDC的结果,但是往往很多时候,访问出来的结果都很难被下游直接使用,还需要做很多String类型的数据处理,这里就单独开一篇博客来讲讲如何,在读的时候,一次性做到数据根据我们的需要去展示,也就是展示的更加简洁优雅一点。不跟你多BB,直接上源代码,有疑问的可以评论区交流,感谢。import com.alibaba.fastjson.JSONObject;import com.alibaba.ververica.cdc.debezi

2022-01-02 14:42:45 1520

原创 HashMap原理总结

HashMap的原理看这一篇记住就行了

2021-12-29 20:35:56 598

原创 关于Spark数据倾斜调优看这一篇就够了

调优概述有的时候,我们可能会遇到大数据计算中一个最棘手的问题——数据倾斜,此时Spark作业的性能会比期望差很多。数据倾斜调优,就是使用各种技术方案解决不同类型的数据倾斜问题,以保证Spark作业的性能。数据倾斜发生时的现象绝大多数task执行得都非常快,但个别task执行极慢。比如,总共有1000个task,997个task都在1分钟之内执行完了,但是剩余两三个task却要一两个小时。这种情况很常见。 原本能够正常执行的Spark作业,某天突然报出OOM(内存溢出)异常,观察异常栈,是我们写

2021-12-29 20:32:18 390 2

原创 Flink写入Hbase

1、在构建实时数仓的时候,通常会把dim层的数据存入hbase,这样做的好处一个是利用hbase的幂等性的功能,维度表基本上都会有数据唯一性,第二个在实时性要求的场景下,可以做数据点查关联,效率上得到一定的保障。部分sink代码如下:private transient Connection hbaseConnection; private transient Connection hbaseConnection; private Admin hbaseAdmin; p

2021-12-29 15:29:33 3502

原创 Flink CDC 读取MySQL的数据

1、前提背景准备Flink在1.11之后就已经支持从MySQL增量读取Binlog日志的方式。pom文件如下:<properties> <scala.binary.version>2.11</scala.binary.version> <scala.version>2.11.12</scala.version> <flink.version>1.12.0</flink.version>

2021-12-24 17:58:23 12918 10

原创 Spark跨集群读取HDFS文件

大家平时可能都是在本集群上读取本地的HDFS文件,那如果我有两套集群呢?这个时候该如何读取另外一套集群上面的HDFS文件呢?废话不多说,直接上代码,如果代码有关于一些nameservices等这些信息不知道去哪里看的人,可以翻翻我之前的博客,或者私信我。

2021-12-21 11:51:38 2991

原创 Impala SQL on Kudu优化(二)

1、前言 上一篇 Impala SQL on Kudu优化谈到了如何从执行计划的角度来优化查询SQL,感兴趣的同学可以去回看关注下(Impala SQL on Kudu优化(一)_一个数据小开发的博客-CSDN博客),本篇优化将主要从建表层面来谈谈优化。2、概念&理念...

2021-09-23 19:45:29 608 1

原创 Spark Dataset<Row>写入Elasticsearch实战

1、前言Spark操作数据写入es,可以参考官方案例来操作Apache Spark support | Elasticsearch for Apache Hadoop [7.14] | Elastic本博客,讲挑选其中的一种方法进行讲解。2、方法JavaEsSpark类中,提供了四大类方法把数据写入到es中。def saveToEs(jrdd: JavaRDD[_], resource: String) = EsSpark.saveToEs(jrdd.rdd, resource

2021-09-22 19:42:28 1054 2

原创 Hive Metastore详解大全

1、何为Hive MetaStore?

2021-08-12 09:25:15 14411 5

转载 Hive常用函数大全一览

1、关系运算1、等值比较: =语法:A=B操作类型:所有基本类型描述: 如果表达式A与表达式B相等,则为TRUE;否则为FALSE hive> select 1 from iteblog where 1=1; 1 2、不等值比较: <>语法: A <> B操作类型: 所有基本类型描述: 如果表达式A为NULL,或者表达式B为NULL,返回NULL;如果表达式A与表达式B不相等,则为TRUE;否则为FALSE hive>

2021-08-10 15:58:07 1471

原创 hive如何把时分秒时间变成15分钟切片时间

利用现有的函数即可,lpad(string str, int len, string pad) 将字符串str 用pad进行左补足 到len位(如果位数不足的话)rpad(string str, int len, string pad) 将字符串str 用pad进行右补足 到len位(如果位数不足的话)select concat('20210731',lpad(hour('2021-07-31 09:07:01'),2,'0'),rpad(15*floor(minute('2021.

2021-08-10 14:17:09 1549

原创 Spark中的UDTF

1、介绍之前的文章中讲到过如何编写Spark的UDF函数之前的文章如下:https://blog.csdn.net/Aaron_ch/article/details/113346185那么何为UDTF呢??又如何在Spark中使用UDTF呢??1.1、何为UDTF其实做过大数据的,熟悉Hive小伙伴一定知道,Hive中也有很多常用官方UDTF,explodejson_tupleget_splits等等。就是把一行数据,转换为多行多列。简单来讲如下:输入 {"test

2021-05-19 23:23:30 1822 9

原创 浅谈Spark中的宽依赖和窄依赖

1、何为Spark中的宽依赖和窄依赖1.1、官方源码解释1.1.1、NarrowDependency(窄依赖)/** * :: DeveloperApi :: * Base class for dependencies where each partition of the child RDD depends on a small number * of partitions of the parent RDD. Narrow dependencies allow for pipelin

2021-04-28 00:45:29 1967

原创 Spark RDD的flatMap、mapToPair、reduceByKey三个算子详解

1、官方解释1.1、flatMap<U>JavaRDD<U>flatMap(FlatMapFunction<T,U>f)Return a new RDD by first applying a function to all elements of this RDD, and then flattening the results.Parameters:f- (undocumented)Returns:(undocumented)...

2021-04-24 23:02:52 1410 2

原创 Docker应用(一)Elasticsearch

1、简介Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、分析和探索的能力。充分利用Elasticsearch的水平伸缩性,能使数据在生产环境变得更有价值。Elasticsearch 的实现原理主要分为以下几个步骤,首先用户将数据提交到Elasticsearch 数据库中,再通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据,当用户搜索数据时候,再根据权重将结果排名,打分,再将返回结果呈现给用户。Elasticsearch是与

2021-04-10 15:41:46 731 3

原创 Docker入门-Windows 10&Mac系统安装

一、何为DockerDocker 是一个开源的应用容器引擎,基于Go语言并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。runc 是一个 Linux 命令行工具,用于根据 OCI容器运行时规范 创建和运行容器。containerd 是一个守护程序

2021-04-09 22:29:34 673

原创 浅谈Hive如何调优

从读懂Hive执行计划开始优化Hive语句一、什么是Hive执行计划Hive执行计划官方解释在哪?如下连接是Hive官网的Wiki地址https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Explain

2021-03-29 17:48:46 524 3

原创 如何利用Java编写Spark

来我的Spark专栏:https://blog.csdn.net/aaron_ch/category_10777950.html一起学习进步怎么用Java编写Spark并本地调试

2021-03-27 22:46:14 303

原创 【Spark】根据经纬度算出对应的城市

思路:造一个存有全国每个城市边界经纬度的信息表,把经纬度点使用算法公式按照一定的逻辑挨个循环去匹配。处理过程中的城市经纬度Map类似于如下:如果要全国的可以访问如下链接下载相对应的csv全部实现逻辑代码如下:import org.apache.spark.SparkConf;import org.apache.spark.sql.Dataset;import org.apache.spark.sql.Row;import org.apache.spark.sql.Spark.

2021-03-27 22:25:11 1537 2

原创 Spark SQL使用get_json_object函数解析json

get_json_object(string json_string, string path)说明:第一个参数填写json对象变量,第二个参数使用$表示json变量标识,然后用 . 或 [] 读取对象或数组;如果输入的json字符串无效,那么返回NULL。举例:数据准备如下:使用实例:with data_table as (select "{ \"timestamp\": \"2021-03-23T06:45:11.460Z\", \"metadata\": {

2021-03-23 20:57:21 9587

原创 Spark SQL根据竖线进行字符串split函数取最后一个数组值

方法一,使用substring_index函数select substring_index(get_json_object(data,'$.message'),"|",'-1') from table_name;方法二,使用split函数思路:先利用反转函数reverse,把最后一个转到第一个,就可以在split后用下标为0的数组值,然后再使用一次reverse函数进行字符串反转,实例代码如下:这个地方需要注意的点是Spark SQL中使用split函数利用"|",竖线分隔的时候需要..

2021-03-23 20:24:53 6806 1

原创 Maven项目中得jar包依赖解析树命令

cmd命令行切换到项目得根目录下,例如:然后执行如下命令:mvn dependency:tree结果如下图所示:

2021-03-01 19:47:00 286 1

原创 Spark之窗口函数WindowSpec中的row_number()

Spark的窗口函数WindowSpec之Java语言实现代码如下import org.apache.spark.sql.expressions.WindowSpec;import org.apache.spark.sql.expressions.Window;import org.apache.spark.sql.functions;WindowSpec windowSpec = Window.partitionBy("colName1").orderBy(functions.desc("c

2021-02-16 22:14:11 769

原创 WebService之如何调用

前面两篇文章讲过了如何新建和转发,下面这篇文章就来讲讲如何代码级别的调用本案例中的两个接口一个为自己开发的接口 一个为转发的接口 如图所示创建一个用于发布的包以及Class类 在用于发布的类中编写所要发布的方法 自己开发的接口直接new 方法即可 转发的接口需要new Proxy中的方法实战代码:说明:查询城市天气 先模拟天气API在本地创建一个常州市天气数据,假使调用本地开发的天气API查询南京的天...

2021-02-10 15:05:28 210

原创 WebService之如何转发接口

New 一个web serviceFile > New > other 输入dyn项目名称自定义 > NextWel.xml打勾 > Finish创建成功后点击src 右击在1中输入接口地址 > Finish随后会出现一个包 包的内容无须管 没跟接口生成的包不一样找到Proxy结尾的JAVA 文件找到去除Proxy JAVA文件 点开右击Proxy 结尾的JAVA文件观察1中路径...

2021-02-10 15:01:41 1030

原创 WebService之新建接口开发

开发接口创建一个web service项目File > New > other 输入dyn项目名称自定义 > NextWel.xml打勾 > Finish创建一个自定义名称的包 点击src > 右击 > New > otherNext >>创建class Class名称自定义结果展示图导入JAR包Ctrl +C...

2021-02-08 18:33:18 362

原创 Spark数据写入Kudu,报Caused by: java.lang.RuntimeException: PendingErrors overflowed. Failed to write at..

错误如下:2021-02-01 17:11:13 ERROR TaskSetManager:73 - Task 0 in stage 4.0 failed 1 times; aborting job2021-02-01 17:11:13 INFO TaskSchedulerImpl:57 - Removed TaskSet 4.0, whose tasks have all completed, from pool 2021-02-01 17:11:13 INFO TaskSchedulerI

2021-02-03 11:12:01 1107 2

原创 Hive中的left semi join和left anti join

select * from h_test_01;select * from h_test_02;SELECT *FROM h_test_01 a LEFT semiJOIN h_test_02 b ON a.uuid = b.uuid;

2021-01-28 23:52:18 10347 4

原创 Spark使用Java编写UDF函数

如下图查看Spark源码一共有23中UDF函数他们之间最大的区别就是传参数的个数问题的区别UDF1函数源码如下:public interface UDF1<T1, R> extends Serializable { R call(T1 var1) throws Exception;}UDF2函数源码如下:public interface UDF2<T1, T2, R> extends Serializable { R call(T1 va

2021-01-28 20:16:26 2030

hudi-flink连接jar包

hudi-flink hudi flink arm64架构 M1芯片 Mac电脑的hudi-flink编译jar包

2022-03-28

M1芯片mac版本的mysql连接器

M1芯片 arm64位系统 mac版本 MySQL连接器

2022-03-28

Mac版的kafka连接器

Mac版的kafka连接器

2022-03-17

CityRange.csv

全国城市电子围栏范围

2021-03-27

install.zip

Linux下自动化安装mysql的shell脚本

2021-01-23

空空如也

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

TA关注的人

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