- 博客(278)
- 收藏
- 关注
原创 面试系列之: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' ->.
2020-09-15 16:15:43 360
原创 面试系列之:dynamic allocate executor 我为什么不建议你使用
dynamic allocate executor 感觉好拽的能力,动态分配哦,好腻害的样子噢。万事大家,妈妈再也不用担心我到底该配置多少 资源合适了,又保住了好几根银发。面试官再问我我是如何估计资源的,我就把这个参数甩她胸口~真的是这样子的吗?现实真的是这么美好吗?你是第一天出来混吗?这个在官网上有但是没被我看到过的参数,真的那么好用吗?看我口型 NO你以为公司的...
2020-02-18 20:23:46 272
原创 车联网-CDN科普
CDN是一种帮助互联网内容更快、更稳定传递的技术,类似于在你身边设立了一个“小商店”,使得获取内容变得更加便捷。CDN确实会消耗内存和磁盘资源,主要用于缓存用户请求的内容。这些缓存存在于分布在各地的边缘节点中,旨在提高访问速度和系统稳定性。通过有效的缓存策略,CDN可以优化资源利用,确保内容高效地传递给用户。
2024-11-02 22:30:00 382
原创 starrocks-删除表字段
之前做了个大宽表,将近100个字段,但是后来发现很多字段在实际生产上都没有用到,并且随着数据量的增加,给集群的存储以及消费任务的解析带来了比较大的压力。所以决定对字段做删除处理。当前的表是使用routine load任务从kafka消费数据,为了不影响线上的服务,所以我们最终的方案是保留字段,但是在routine load任务里只消费需要的字段。但是为了搞清楚对于一个已经有大量数据的表删除字段的影响,单独起了个表做了个测试。
2024-10-12 22:45:00 422
原创 datax编译报错解决方案
降低maven的版本到3.8.8,更低版本的没试过。其他的任何东西都不用动。我用的是jdk1.8 、maven是3.9.9。进入到你的项目所在的根目录执行即可。
2024-10-11 21:45:00 302
原创 kafka之protobuf
编写.proto文件:定义消息结构,包括字段类型、名称和编号。使用protoc编译:将.proto文件编译为目标语言代码,如 Java、Python、Go 等。使用生成的类:使用生成的类进行消息的序列化(转换为二进制格式)和反序列化(解析二进制数据)。
2024-09-15 21:30:00 1571
原创 kafka之视频和图片文件
在 Kafka 中存储视频或图片的格式通常取决于应用场景和传输的需求。Kafka 是一种分布式的流处理平台,设计用来处理事件流或消息流,。
2024-09-14 23:00:00 1170
原创 车联网数仓建设
综上所述,车联网数仓建设独有的内容包括车辆数据采集与处理、车辆状态监测与故障诊断、驾驶行为分析与驾驶安全、车辆路况与交通流量分析、车辆定位与导航服务、车辆保险与风险评估等方面。:车联网数仓需要处理大量的车辆数据,包括车辆传感器数据、车辆位置数据、车辆行驶数据等。:车联网数仓可以分析车辆的实时位置数据,以及道路上的交通情况,包括路况、交通拥堵情况等。:车联网数仓可以分析车辆的行驶数据和驾驶行为数据,为车辆保险公司提供风险评估和定价依据。:车联网数仓可以存储和管理车辆的位置数据,支持车辆定位和导航服务。
2024-04-07 23:45:00 956
原创 hive里如何高效生成唯一ID
常见的方式:hive里最常用的方式生成唯一id,就是直接使用 row_number() 来进行,这个对于小数据量是ok的,但是当数据量大的时候会导致,数据倾斜,因为最后生成全局唯一id的时候,这个任务是放在一个reduce里进行的,数据量过大会有很大的瓶颈。优化的方式:主体的思想就是先分再合,参考下一个思路:这个思路是借鉴了一篇文章的思路:附上链接:bitmap用户分群方法在贝壳DMP的实践和应用_架构_侯学博_InfoQ精选文章我是只想用sql来做具体的实现,如何实现最好
2023-11-29 22:45:00 1301
原创 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 739
原创 sqoop 脚本密码管理
生产上很多sqoop脚本的密码都是铭文,很不安全,找了一些帖子,自己尝试了下,记录下细节,使用的方式是将密码存在hdfs上然后在脚本里用别名来替代。
2023-10-11 23:45:00 623
原创 Kafka参数之auto.offset.reset
前言:之所以要说下这个参数是因为,在做kafka和流式框架整合的时候,这个参数经常会被设置。之前发现自己理解的其实不到位,对于一些现象不能够很好的解释,后来才发现自己对于这个参数的理解有偏差,所以记录下。常用取值的含义:earliest当各分区下有已提交的offset时,从提交的offset开始消费;无提交的offset时,从头开始消费latest当各分区下有已提交的offset时,从提交的offset开始消费;无提交的offset时,消费新产生的该分区下的数据还需要注意的就是
2022-02-13 12:37:33 1650
原创 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 2526
原创 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 249
转载 使用 Git 在错误的分支上修改了代码怎么办?
个人学习使用,直接上链接原文链接吧:https://mp.weixin.qq.com/s/c4F0QQd6ZvuhJC0Sv0YktQ我们知道,在使用 Git 的时候,应该要正确使用它的分支(Branch)功能。不同的功能使用不同的分支开发,最后合并进入主分支。但有时候会出现这样一种情况——我代码都已经写完了,才发现我写错分支了。这个时候,怎么把我的修改迁移到目标分支上,并且不修改现在正在使用的分支?我们用一个简单的例子来说明这种情况。首先创建一个文件夹:test_git,并且在里面创建
2021-07-21 10:27:38 1358
原创 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 736 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 501
原创 记一次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 528 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 544
原创 Spark 图解 Backend 通信
主要的组件就是两个: CoarseGrainedSchedulerBackend extends SchedulerBackend CoarseGrainedExecutorBackend extendsExecutorBackend DriverEndPoint
2020-10-10 16:41:43 307
原创 Spark 图解源码系列之:SparkStreaming Receiver是如何接收数据的?
假期不能闲着,水一篇文章,各位看官看过来~涉及到的几个主要的角色: ReceiverSupervisor ReceiverSupervisorImpl (实现类) Receiver BlockGenerator BlockManager ReceiverTracker总体流程大致的说一下:一切从 流 开始我们以 SocketInputDStream 为例子来讲解下面的这个图是整个的流程详解:是在是没办法,转为图片6M+超过了可以上传的..
2020-10-07 17:41:54 173
转载 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 560
转载 面试系列之: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 218
原创 SparkStreaming kafka direct (直连) 方式源码剖析
很常见的一个问题:你们连接kafka用的是什么方式?目前市面上来说一般都是这个:也就是我们常说的直连模式。直连模式有什么好处呢?最大的好处莫过于我们可以很方便的来控制任务的并行度。具体是如何做到的呢?我们来分析一下源码就一目了然了。class DirectKafkaInputDStream[K, V]直接定位到主角DirectKafkaInputDStream 我们看下层级结构:他是InputDstream的一个具体实现。我们先看下 compute这个方法..
2020-09-03 18:35:53 386
转载 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 652
原创 数据结构学习最好用的网站
跟大家分享一下:https://www.cs.usfca.edu/~galles/visualization/Algorithms.html
2020-08-27 14:00:25 597
原创 如何申请百度云 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 5357 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人