自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 面试系列之:spark中常用经典算子的源码剖析

1:使用cogroup实现join cogroup 算子初探:这是一个用途很广泛的算子在底层实现上 val appName = this.getClass.getSimpleName.dropRight(1) val spark = SparkSession.builder().master("local[*]").appName(appName).getOrCreate() val map1 = Seq('a' -> 1, 'b' -> 2, 'c' -&gt.

2020-09-15 16:15:43 312

原创 面试系列之:dynamic allocate executor 我为什么不建议你使用

dynamic allocate executor 感觉好拽的能力,动态分配哦,好腻害的样子噢。万事大家,妈妈再也不用担心我到底该配置多少 资源合适了,又保住了好几根银发。面试官再问我我是如何估计资源的,我就把这个参数甩她胸口~真的是这样子的吗?现实真的是这么美好吗?你是第一天出来混吗?这个在官网上有但是没被我看到过的参数,真的那么好用吗?看我口型 NO你以为公司的...

2020-02-18 20:23:46 219

原创 车联网数仓建设

综上所述,车联网数仓建设独有的内容包括车辆数据采集与处理、车辆状态监测与故障诊断、驾驶行为分析与驾驶安全、车辆路况与交通流量分析、车辆定位与导航服务、车辆保险与风险评估等方面。:车联网数仓需要处理大量的车辆数据,包括车辆传感器数据、车辆位置数据、车辆行驶数据等。:车联网数仓可以分析车辆的实时位置数据,以及道路上的交通情况,包括路况、交通拥堵情况等。:车联网数仓可以分析车辆的行驶数据和驾驶行为数据,为车辆保险公司提供风险评估和定价依据。:车联网数仓可以存储和管理车辆的位置数据,支持车辆定位和导航服务。

2024-04-07 23:45:00 845

原创 Hive UDF 札记

低版本的udf就不说了,太老了,说现在主流的。

2024-02-28 23:45:00 578

原创 Hive 窗口函数札记

hive 窗口函数

2024-02-20 22:15:00 850

原创 hive里如何高效生成唯一ID

常见的方式:hive里最常用的方式生成唯一id,就是直接使用 row_number() 来进行,这个对于小数据量是ok的,但是当数据量大的时候会导致,数据倾斜,因为最后生成全局唯一id的时候,这个任务是放在一个reduce里进行的,数据量过大会有很大的瓶颈。优化的方式:主体的思想就是先分再合,参考下一个思路:这个思路是借鉴了一篇文章的思路:附上链接:bitmap用户分群方法在贝壳DMP的实践和应用_架构_侯学博_InfoQ精选文章我是只想用sql来做具体的实现,如何实现最好

2023-11-29 22:45:00 944

原创 Avro 如何生成java Bean

作为一种很犀利的序列化的格式,avro在大数据量传输的时候很有优势。记录下。

2023-10-31 23:15:00 284

原创 Flink Table API 和 SQL 需要引入的依赖

两个 Bridge:flink-table-api-scala-bridge 和 flink-table-api-java-bridge,flink-table-api-scala:这里只是非常薄的一层,仅和 Table API 的 Expression 和 DSL 相关。两个 Planner:flink-table-planner 和 flink-table-planner-blink。flink-table-api-java:这部分是用户编程使用的 API,包含了大部分的 API。

2023-10-21 10:30:00 424

原创 sqoop 脚本密码管理

生产上很多sqoop脚本的密码都是铭文,很不安全,找了一些帖子,自己尝试了下,记录下细节,使用的方式是将密码存在hdfs上然后在脚本里用别名来替代。

2023-10-11 23:45:00 543

原创 hive数据load到redis

hive数据传到redis

2023-09-28 19:15:00 1095

原创 如何保证hive collect_set 元素是有序的

collect_set 里数据有序性

2023-06-27 21:00:00 929

原创 hive-分组按比例获取样本如何实现?

hive 开窗函数的应用

2023-02-23 13:53:53 321

原创 Kafka参数之auto.offset.reset

前言:之所以要说下这个参数是因为,在做kafka和流式框架整合的时候,这个参数经常会被设置。之前发现自己理解的其实不到位,对于一些现象不能够很好的解释,后来才发现自己对于这个参数的理解有偏差,所以记录下。常用取值的含义:earliest当各分区下有已提交的offset时,从提交的offset开始消费;无提交的offset时,从头开始消费latest当各分区下有已提交的offset时,从提交的offset开始消费;无提交的offset时,消费新产生的该分区下的数据还需要注意的就是

2022-02-13 12:37:33 1561

原创 hive之mapjoin

hive 的mapjoin起作用了我们如何确定?只是inner join 的时候看日志吧,最为直观:2021-12-10 12:05:41 Starting to launch local task to process map join; maximum memory = 9547284482021-12-10 12:05:44 Processing rows: 200000 Hashtable size: 199999 Memory usage: 135058920 percentage:

2021-12-11 11:00:00 2411

原创 flink-watermark 是什么?

1: watermark 是流里的一个特殊的元素,这个不是我说的,看源码的注释:public final class Watermark extends StreamElement {然后我们看看StreamElement的注释里:An element in a data stream. Can be a record or a Watermark.2:watermark 是要配合我们的窗口来使用的,且我们要使用的时间语义这个时候是事件时间,watermark 通过决定何时关闭窗口来做到

2021-12-08 22:35:50 189

原创 hive - last_modified_time&transient_lastDdlTime

hive 表的属性

2021-12-04 07:30:00 2490

转载 使用 Git 在错误的分支上修改了代码怎么办?

个人学习使用,直接上链接原文链接吧:https://mp.weixin.qq.com/s/c4F0QQd6ZvuhJC0Sv0YktQ我们知道,在使用 Git 的时候,应该要正确使用它的分支(Branch)功能。不同的功能使用不同的分支开发,最后合并进入主分支。但有时候会出现这样一种情况——我代码都已经写完了,才发现我写错分支了。这个时候,怎么把我的修改迁移到目标分支上,并且不修改现在正在使用的分支?我们用一个简单的例子来说明这种情况。首先创建一个文件夹:test_git,并且在里面创建

2021-07-21 10:27:38 1191

原创 idea 那些那些好用的插件

maven helper json helper aixcoder sqlformatter

2021-06-03 16:11:18 107

原创 Spark 生成hfile然后使用bulk load 方式导入到HBase

需求背景:公司的spark集群和hbase集群是两个互不相通的集群,所以我们的方式就是先用spark 生成hfile 然后再通过distcp 的方式把数据cp到HBase所在的集群,然后再通过bulk的方式把数据导入到HBase中关键性的疑问点:Q1:我生成的hfile如何和表里的各种设置想对应呢?比如说:我的table 设置了 bf 设置了snappy 压缩算法,等等,这些在我们生成hfile的时候是应该都要完成的操作。这些东西我们是如何指定的呢?关键角色登场:HFileOutpu

2021-05-23 10:00:28 633 1

原创 hive 分号(;)在数据处理中带来的问题

1:遇到的问题:我在处理一个数据的时候,想把数据转为map形式,但是发现总是报错。NoViableAltException(114@[]) at org.apache.hadoop.hive.ql.parse.HiveParser_IdentifiersParser.function(HiveParser_IdentifiersParser.java:4628) at org.apache.hadoop.hive.ql.parse.HiveParser_IdentifiersParser.at

2021-05-17 15:07:52 439

原创 记一次jar包冲突导致的问题

1:现象:我在本地运行的时候总是报错,这个错误经过我的排查是和引入的hbase的依赖有关系。报错如下:Exception in thread "main" java.lang.NoSuchMethodError: org.apache.hadoop.conf.Configuration.getPassword(Ljava/lang/String;)[C at org.apache.spark.SSLOptions$$anonfun$8.apply(SSLOptions.scala:188) a

2021-05-06 14:52:57 432 2

原创 kafka的消息分发机制

kafka是如何决定把某条信息发送到哪个partition的呢?源码kafka的版本: <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients</artifactId> <version>2.0.1</version> </dep

2020-11-06 16:52:53 495

原创 redis 面试系列之:redis集群为什么选择16384个slots?

直接上图吧:核心知识点都罗列出来了

2020-10-28 14:02:18 255

原创 Spark 图解 Backend 通信

主要的组件就是两个: CoarseGrainedSchedulerBackend extends SchedulerBackend CoarseGrainedExecutorBackend extendsExecutorBackend DriverEndPoint

2020-10-10 16:41:43 240

原创 Spark 图解源码系列之:SparkStreaming Receiver是如何接收数据的?

假期不能闲着,水一篇文章,各位看官看过来~涉及到的几个主要的角色: ReceiverSupervisor ReceiverSupervisorImpl (实现类) Receiver BlockGenerator BlockManager ReceiverTracker总体流程大致的说一下:一切从 流 开始我们以 SocketInputDStream 为例子来讲解下面的这个图是整个的流程详解:是在是没办法,转为图片6M+超过了可以上传的..

2020-10-07 17:41:54 145

转载 Flink 面试知识点汇总

https://blog.csdn.net/u013411339/article/details/103413176?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.add_param_isCf&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.add_

2020-09-23 15:08:50 462

原创 面试系列之:图解sparkstreaming 背压机制

直接上图吧,感觉这样东西可以紧凑些,大家一起进步~

2020-09-18 15:12:25 220

转载 面试系列之:Spark Architecture: Shuffle

感觉还是看看原味的英文文章吧,写得很好~This is my second article about Apache Spark architecture and today I will be more specific and tell you about the shuffle, one of the most interesting topics in the overall Spark design. The previous part was mostly about general Spa

2020-09-08 13:55:20 179

原创 SparkStreaming kafka direct (直连) 方式源码剖析

很常见的一个问题:你们连接kafka用的是什么方式?目前市面上来说一般都是这个:也就是我们常说的直连模式。直连模式有什么好处呢?最大的好处莫过于我们可以很方便的来控制任务的并行度。具体是如何做到的呢?我们来分析一下源码就一目了然了。class DirectKafkaInputDStream[K, V]直接定位到主角DirectKafkaInputDStream 我们看下层级结构:他是InputDstream的一个具体实现。我们先看下 compute这个方法..

2020-09-03 18:35:53 341

转载 SparkStreaming 被压机制详解

原文链接:https://www.jianshu.com/p/aadd3803debb1、引入Backpressure的原因默认情况下,Spark Streaming通过Receiver以生产者生产数据的速率接收数据,计算过程中会出现batch processing time > batch interval的情况,其中batch processing time为实际计算一个批次花费时间,batch interval为Streaming应用设置的批处理间隔。这意味着Spark Strea.

2020-09-03 17:16:10 569

原创 数据结构学习最好用的网站

跟大家分享一下:https://www.cs.usfca.edu/~galles/visualization/Algorithms.html

2020-08-27 14:00:25 569

原创 如何申请百度云 OCR token--详细步骤

这里就用申请OCR的为例子来举例。1:百度搜索百度云https://cloud.baidu.com/product/ocr_general2: 注册或者登陆:3:进来后看到如下界面:4:5:创建应用(最关键的一步)6:7:创建完毕之后点击 应用详情:Ap'i'Key Secretkey 这在后面申请access_token 要用8:最关键的一步获取token,记得替换url里的参数。import urllib.requesthos...

2020-08-27 10:13:48 5068 1

原创 百度OCR图片的文本识别--五分钟上手

1:首先要具备对应的python环境,其他语言如java也是ok的 ,官网有对应的API2:提前准备好你的文件。3:中间有个sleep的处理,是为了避免总是频繁调取接口导致问题,毕竟是免费的嘛,都能理解4:最关键的一点,自己得申请一个账号,然后拿到access_token,这个是你调用服务的凭证import osimport base64import requestsimport jsonimport timedef get_ocr(fileName): reque.

2020-08-27 09:41:35 438

转载 Kafka的数据是如何存储的

原文链接:(请尊重原创)https://www.jianshu.com/p/3e54a5a39683摘要:消息存储对于每一款消息队列都非常重要,那么Kafka在这方面是如何来设计做到高效的呢?Kafka这款分布式消息队列使用文件系统和操作系统的页缓存(page cache)分别存储和缓存消息,摒弃了Java的堆缓存机制,同时将随机写操作改为顺序写,再结合Zero-Copy的特性极大地改善了IO性能。而提起磁盘的文件系统,相信很多对硬盘存储了解的同学都知道:“一块SATA RAID-5阵列磁盘的线性

2020-08-22 16:06:38 2886

原创 面试源码系列之:图解 sparkstreaming 源码

所有的入口就是:StreamingContext.start()这里的关键点就是: 启动了调度,调用了JobScheduler.start()def start(): Unit = synchronized { state match { case INITIALIZED => startSite.set(DStream.getCreationSite()) StreamingContext.ACTIVATION_LOCK.synch.

2020-08-13 17:49:10 228

原创 面试算法之:快速排序

/** * @Author: Kerven Han * @Date: * @Describe: */public class QuickSort { public static void main(String[] args) { int[] arr = {2,3,4,1,22,90,45,12,89,12,99,33}; sort(arr); for (int i = 0; i < arr.length; i++) { .

2020-08-12 15:49:18 133

原创 面试算法之:二分查找

** * @Author: Kerven Han * @Date: 2020/7/23 9:39 * @Describe: */public class BinarySearch { public static void main(String[] args) { int[] arr = {1,2,3,222,3333,8888,19023}; System.out.println(binarySearch(arr, 222)); .

2020-08-12 15:46:49 110

原创 Spark 写入 MySQL 乱码问题

1:检查你的mysql的编码,笔者建议都调整为UTF-8(这一步很简单不多说了就),还有就是保证你的数据源的编码,可以先show一下看看是否是乱码,然后再继续进行。2:检查你的插入语句:val prop = new java.util.Propertiesprop.setProperty("user", "root")prop.setProperty("password", "123456")city.write.mode(SaveMode.Append).jdbc("jdbc:mysql

2020-08-11 09:26:13 1199

原创 spark中那些你不得不知道的基础概念(名词)

RDDstagejobshuffle宽窄依赖DAGlineage

2020-08-10 14:13:02 98

原创 kafka的消息分区分配机制之 Producer

后续会补上~

2020-08-10 13:32:35 128

空空如也

空空如也

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

TA关注的人

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