自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

mojolang

专注mojolang

  • 博客(1051)
  • 资源 (26)
  • 收藏
  • 关注

转载 GDB快速定位程序崩溃(coredump)在哪行

【代码】GDB快速定位程序崩溃(coredump)在哪行。

2023-04-03 10:56:55 1203

转载 Harbor----使用 Harbor 安装包安装部署 Harbor

Harbor----使用 Harbor 安装包安装部署 Harbor

2022-08-17 09:39:16 3139

转载 Kubernetes----Deployment控制器实现版本金丝雀发布

Kubernetes----Deployment控制器实现版本金丝雀发布

2022-08-17 09:20:34 557

转载 pause rollout 金丝雀kubectl

pause rollout 金丝雀kubectl

2022-08-17 09:17:04 277

转载 Kubectl常用命令详解

Kubectl常用命令详解

2022-08-17 09:07:17 2443

转载 Kubernetes----HPA控制器实现动态弹性扩缩容

Kubernetes----HPA控制器实现动态弹性扩缩容

2022-08-17 08:33:02 446

转载 spring boot内嵌undertow配置一定要优化

undertow默认配置情况下,官方默认配置的是 CPU核数*8,比如8核CPU,实际工作线程数也就8*8=64,这个配置对于高并发场景来看,一台8核CPU的机器一般内存都会32G或以上,即使跑满64线程,占用的资源远远无法充分利用该机器的性能。......

2022-08-11 09:06:31 4431 2

转载 K8S集群中高并发应用undertow线程数不足引起的重启

K8S集群中高并发应用undertow线程数不足引起的重启

2022-08-11 09:04:29 1202

转载 数据湖技术Iceberg0.12预研文档

Iceberg0.12预研本次预研场景主要为kafka=>flink sql=>iceberg=>hive=>hdfs=>trino(presto)本次预研使用组件如下:名称 版本 描述flink 1.12.1 通过parcel包部署于cdh6.3.2中cdh 6.3.2 开源版本hive 2.3.7 包含cdh中(更换jar升级替换)hadoop 3.0.0 cdh原生版本presto 2.5...

2022-02-21 22:44:36 618

转载 Spark 大/小文件读取优化

问题描述使用Spark写复杂SQL时,我们经常会遇到两个尴尬的情况:表里的单个文件都很大,而且因为record比较小,所以单个文件的record数量巨大。表里每个分区都有成百上千个小文件,单个文件可能只有几条记录对于第一种情况,会导致我们没办法充分利用我们已有的核,所以速度很慢。对于第二种情况,则会大量浪费调度时间。比如你有100万个文件,假设只有100个核,那么需要调度一万轮,每轮调度除了调度自身的消耗,还有很多额外的消耗。在没有shuffle的情况下,会导致写太多文件,本身...

2022-02-18 17:12:59 2408

转载 Apache Iceberg 对推荐应用架构的优化及读写流程解析本文

Apache Iceberg应用场景示例:在之前的文章中相信大家已经对Iceberg有了很多了解,Iceberg具有 ACID,隐式分区,partition evolution等功能。那么这些功能在实际的应用场景中会有什么收益呢?我们来看一个大数据应用中比较典型的业务 “广告/信息流推荐服务"。在推荐服务中,业务往往通过join用户的点击、曝光数据来生成正负样本,然后用增量的样本数据比较实时的更新在线模型。在增量样本更新过程中总有延时到达的点击数据因为无法及时join而被当做负样本处理了,所以需要每

2022-02-17 00:36:51 494

转载 spark-sql执行流程分析

目录spark-sql 架构 sql执行流程正文回到顶部spark-sql 架构图1图1是sparksql的执行架构,主要包括逻辑计划和物理计划几个阶段,下面对流程详细分析。回到顶部sql执行流程总体流程parser;基于antlr框架对 sql解析,生成抽象语法树 变量替换,通过正则表达式找出符合规则的字符串,替换成系统缓存环境的变量SQLConf中的`spark.sql.variable.substitute`,默认是可用的;参考` SparkS.

2022-02-11 12:01:55 1032

转载 SparkSQL中的三种Join及其具体实现(broadcast join、shuffle hash join和sort merge join)

1.小表对大表(broadcast join)将小表的数据分发到每个节点上,供大表使用。executor存储小表的全部数据,一定程度上牺牲了空间,换取shuffle操作大量的耗时,这在SparkSQL中称作Broadcast JoinBroadcast Join的条件有以下几个:*被广播的表需要小于 spark.sql.autoBroadcastJoinThreshold 所配置的值,默认是10M (或者加了broadcast join的hint)*基表不能被广播,比如 left outer

2022-02-11 11:59:25 2106

转载 HBase原理 | HBase分区影响与合理分区设置

前段时间总结了一篇关于HBase由于分区过多导致集群宕机的文章,感兴趣的同学可以点击原文《HBase案例 | 20000个分区导致HBase集群宕机事故处理》阅读参考。本文重点参考HBase官网,从分区过多这个角度出发,进一步聊一聊HBase分区过多的影响以及单节点合理分区数量等。HBase 分区概念接触过HBase的同学都知道,HBase每张表在底层存储上是由至少一个Region组成,Region实际上就是HBase表的分区。HBase新建一张表时默认Region即分区的数量为1,一般在生产环境中我

2022-02-11 09:46:18 2932

转载 通过代码理解flink sql几种Join方式

flink SQL 适合离线处理的两种方式package com.staywithyou.flink.apitest.tableapi;import org.apache.flink.streaming.api.datastream.DataStream;import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;import org.apache.flink.table.api.Environment.

2022-02-09 14:43:23 723

转载 Hive的三种Join方式

Hive中就是把Map,Reduce的Join拿过来,通过SQL来表示。参考链接:LanguageManual Joins - Apache Hive - Apache Software FoundationCommon/Shuffle/Reduce JoinReduce Join在Hive中也叫Common Join或Shuffle Join如果两边数据量都很大,它会进行把相同key的value合在一起,正好符合我们在sql中的join,然后再去组合,如图所示。Map Join1)

2022-02-09 14:38:31 3723

转载 Hive与spark优化之小文件问题及其解决方案

小文件是如何产生的1.动态分区插入数据,产生大量的小文件,从而导致map数量剧增。2.reduce数量越多,小文件也越多(reduce的个数和输出文件是对应的)。3.数据源本身就包含大量的小文件。小文件问题的影响1.从Hive的角度看,小文件会开很多map,一个map开一个JVM去执行,所以这些任务的初始化,启动,执行会浪费大量的资源,严重影响性能。2.在HDFS中,每个小文件对象约占150byte,如果小文件过多会占用大量内存。这样NameNode内存容量严重制约了集群的扩展。

2022-02-09 14:17:10 2106

转载 Hive执行流程

当你去执行一个HiveQL的时候,其实它里面做了好多东西。现在有一批数据,数据量不算太大,当你对它们执行一个SQL,但是执行起来特别慢,为什么会这么慢?是不是要分析这个SQL它内部做了些什么?怎么去调优?让它跑起来更快呢?这些的前提是你对hive内部的机制非常了解的情况下,才会知道问题的所在。你输入一个sql字符串,那么也就是一串字符串,hive怎么认识这个字符串?它又怎么去运行这个字符串?是不是要去解析它?是不是要检查语法有没有问题?不管是Hive,还是其它SQL的大数据的框架,比如Spark等等,

2022-02-09 10:31:45 1293

转载 Spark Shuffle 中 JVM 内存使用及配置详情

JVM 內存使用架构剖析 Spark 1.6.x 和 Spark 2.x 的 JVM 剖析 Spark 1.6.x 以前 on Yarn 计算内存使用案例 Spark Unified Memory 的运行原理和机制引言Spark 从1.6.x 开始对 JVM 的内存使用作出了一种全新的改变,Spark 1.6.x 以前是基于静态固定的JVM内存使用架构和运行机制,如果你不知道 Spark 到底对 JVM 是怎么使用,你怎么可以很有信心地或者是完全确定地掌握和控制数据的缓存空间呢,所以掌握Spar

2022-02-09 08:32:16 468

转载 Flink Table & SQL: Minibatch、LocalGlobal、Split Distinct、Agg With Filter

总结Flink Table & SQL 流式聚合中的几个优化。MiniBatchLocalGlobalSplit DistinctAgg With FilterMiniBatchMiniBatch优化的核心思想是缓冲输入记录微批处理以减少对状态的访问,进而提升吞吐并减少数据的输出。以如下场景为例,看下开启MiniBatch聚合前后的差异。SELECT key, COUNT(1)FROM TGROUP BY key由上图可知:未开启MiniBatch..

2022-02-08 17:31:03 857

转载 第一章 Spark 性能调优

大数据性能调优的本质编程的时候发现一个惊人的规律,软件是不存在的!所有编程高手级别的人无论做什么类型的编程,最终思考的都是硬件方面的问题!最终思考都是在一秒、一毫秒、甚至一纳秒到底是如何运行的,并且基于此进行算法实现和性能调优,最后都是回到了硬件!在大数据性能的调优,它的本质是硬件的调优!即基于CPU(计算)、Memory(存储)、IO-Disk/ Network(数据交互)基础上构建算法和性能调优!我们在计算的时候,数据肯定是存储在内存中的。磁盘IO怎么去处理和网络IO怎么去优化。Sp..

2022-02-08 15:54:45 2526

转载 Apache Iceberg的Schema Evolution详解

导语作为构建新一代数据湖的三个中间件Apache Iceberg, Apache Hudi, Delta Lake都支持Schema Evolution,但是三者的支持能力不尽相同,其中Iceberg宣称支持 Full Schema Evolution。本文将详细分析Iceberg 的Full Schema Evolution, 同时捎带对比下和Delta Lake以及Hudi的Schema Evolution的不同。为什么需要Schema Evolution用户的数据随着时间和业务量的增长会需

2022-02-08 09:33:44 1529

转载 Apache Iceberg 中三种操作表的方式

在ApacheIceberg 中有很多种方式可以来创建表,其中就包括使用 Catalog 方式或者实现 org.apache.iceberg.Tables 接口。下面我们来简单介绍如何使用。.使用 Hive catalog从名字就可以看出,Hive catalog 是通过连接 Hive 的 MetaStore,把 Iceberg 的表存储到其中,它的实现类为 org.apache.iceberg.hive.HiveCatalog,下面是通过 sparkContext 中的 hadoopConfi..

2022-02-08 09:31:36 797

转载 Apache Iceberg特点分析

导言去年4月Databricks在Spark+AI summit上公布了Delta Lake项目,于此同时在Apache社区也有两个非常类似的项目Apache Iceberg和Apache Hudi在锐意开发中,这3个项目不管是在定位还是在功能方面都非常的类似,在大数据发展到现阶段为什么会涌现出这3个类似的项目呢,他们有什么差别呢?本文将从几个方面来介绍为什么我们需要这样一种技术,以及在这3个项目中为何我选择Apache Iceberg。如何定义这类新的技术Delta Lake将其定义为:

2022-02-08 09:25:57 1146

转载 Apache Iceberg快速入门

导言本文主要介绍如何快速的通过Spark访问Iceberg table。Spark通过DataSource和DataFrame API访问Iceberg table,或者进行Catalog相关的操作。由于Spark Data Source V2 API还在持续的演进和修改中,所以Iceberg在不同的Spark版本中的使用方式有所不同。版本对比功能 Spark 2.4 Spark 3.0 基于DataFrame - 读数据 支持 支持 -

2022-02-08 09:22:29 1050

转载 Apache Iceberg 对推荐应用架构的优化及读写流程解析本文

Apache Iceberg应用场景示例:在之前的文章中相信大家已经对Iceberg有了很多了解,Iceberg具有 ACID,隐式分区,partition evolution等功能。那么这些功能在实际的应用场景中会有什么收益呢?我们来看一个大数据应用中比较典型的业务 “广告/信息流推荐服务"。在推荐服务中,业务往往通过join用户的点击、曝光数据来生成正负样本,然后用增量的样本数据比较实时的更新在线模型。在增量样本更新过程中总有延时到达的点击数据因为无法及时join而被当做负样本处理了,所以需要每

2022-02-08 09:15:35 543

转载 MySQL的redo log、undo log、binlog

一、MySQL日志文件类型重做日志(redo log) 回滚日志(undo log) 二进制日志(binlog) 错误日志(errorlog) 慢查询日志(slow query log) 一般查询日志(general log) 中继日志(relay log) 其中,比较重要的包括 redo log 、 undo log 和 binlog。 redo log 是重做日志,提供前滚操作;undo log 是回滚日志,提供回滚操作。二、几种日志的对比2-1、用途 re...

2022-01-29 16:09:26 5599

转载 ClickHouse vs StarRocks选型对比

面向列存的DBMS新的选择Hadoop从诞生已经十三年了,Hadoop的供应商争先恐后的为Hadoop贡献各种开源插件,发明各种的解决方案技术栈,一方面确实帮助很多用户解决了问题,但另一方面因为繁杂的技术栈与高昂的维护成本,Hadoop也渐渐地失去了原本属于他的市场。对于用户来说,一套高性能,简单化,可扩展的数据库产品能够帮助他们解决业务痛点问题。越来越多的人将目光锁定在列存的分布式数据库上。ClickHouse简介ClickHouse是由俄罗斯的第一大搜索引擎Yandex公司开源的列存数据库。

2022-01-29 14:05:25 2205

转载 数仓1.2 |分层| ODS& DWD& DWS& ADS| 行为数仓

数仓分层ODS:Operation Data Store原始数据javaDWD(数据清洗/DWI)data warehouse detail数据明细详情,去除空值,脏数据,超过极限范围的明细解析具体表sqlDWS(宽表-用户行为,轻度聚合)data warehouse service ----->有多少个宽表?多少个字段服务层--留存-转化-GMV-复购率-日活点赞、评论、收藏;轻度聚合对DWD数据库ADS(APP/DAL/DF)-出报表结果Application...

2022-01-28 16:56:31 905

转载 Clickhouse 时区转换续—时区参数转换

相信大家看我之前记录的这篇文章,参考链接:Clickhouse 时区转换 - 小花田半亩 - 博客园,对Clickhouse 时区转换有了一定的了解,但是如果要完全应用到工作业务中去,你可能还是会遇到问题。????回顾:select toTimeZone(toDateTime('2020-04-06 02:00:00'), 'Asia/Hong_Kong') , toString(toDateTime('2020-04-06 02:00:00'), 'Asia/Hong_..

2022-01-28 10:04:19 3539

转载 Clickhosue 强大的函数,argMin() 和argMax()函数

说实话,我喜欢Clickhouse 的函数,简单操作,功能强大。今天需要给大家介绍两个函数,argMin(),argMax()1.argMax():计算 ‘arg’ 最大值 ‘val’ 价值。 如果有几个不同的值 ‘arg’ 对于最大值 ‘val’,遇到的第一个值是输出。argMin() 与argMax() 的功能正好是相反的,????是Clickhouse官方文档对这个函数的解释,看官应该看知道这个函数是用途了吧。当然上图是argMin() 函数的简单案例,这里我想到的几个业务场景的使用案

2022-01-28 09:54:52 2627

转载 Clickhouse如何实现数据更新

【摘要】 Clickhouse作为一个OLAP数据库,它对事务的支持非常有限。本文主要介绍通过ReplacingMergeTree来实现Clickhouse数据的更新、删除。Clickhouse作为一个OLAP数据库,它对事务的支持非常有限。Clickhouse提供了MUTATION操作(通过ALTER TABLE语句)来实现数据的更新、删除,但这是一种“较重”的操作,它与标准SQL语法中的UPDATE、DELETE不同,是异步执行的,对于批量数据不频繁的更新或删除比较有用,可参考https://alt

2022-01-28 09:46:51 8138

转载 数据湖|Flink + Iceberg 全场景实时数仓的建设实践

整理|路培杰(Flink 社区志愿者)摘要:Apache Flink 是目前大数据领域非常流行的流批统一的计算引擎,数据湖是顺应云时代发展潮流的新型技术架构,以 Iceberg、Hudi、Delta 为代表的解决方案应运而生,Iceberg 目前支持 Flink 通过 DataStream API /Table API 将数据写入 Iceberg 的表,并提供对 Apache Flink 1.11.x 的集成支持。本文由腾讯数据平台部高级工程师苏舒分享,主要介绍腾讯大数据部门基于 Apache Fl

2022-01-27 15:54:21 1563 1

转载 Flink提交运行中常见问题总结,Flink开发问题汇总

Flink开发问题汇总一、flink里面能调用图算法吗?二、Cannot instantiate user function三、本地idea开发flink程序并本地运行读取HDFS文件四、The assigned slot container_e08_1539148828017_15937_01_003564_0 was removed五、java.util.concurrent.TimeoutException: Heartbeat of TaskManager with id contain

2022-01-24 00:50:49 6016 3

转载 flink table & sql(一)table基础概念、环境搭建、source、sink

一、concepts1、表表可以是虚拟(VIEWS)或常规(TABLES)。VIEWS可以从现有Table对象创建,通常是Table API或SQL查询的结果。TABLES描述外部数据,例如文件,数据库表或消息队列。表三部分标识符:目录、数据库、表名。其中,目录、数据库是可选的。tEnv.useCatalog("custom_catalog");tEnv.useDatabase("custom_database");1.1 临时表与永久表表可以是临时的,并与单个Flink会话的生命周期.

2022-01-21 10:16:22 1016

转载 flink table & sql(二)tableAPI

、table api1、Scan, Projection, and Filter(1)filter,isNotNull(),and,lowerCase(),as,count(),avg(),end,startpackage com.flink.sql.environment.tableAPI;import org.apache.flink.api.common.functions.MapFunction;import org.apache.flink.streaming.api.TimeCha.

2022-01-21 09:37:12 554

转载 HiveQL与SQL区别

1、Hive不支持等值连接  SQL中对两表内联可以写成:select * from dual a,dual b where a.key = b.key; Hive中应为:select * from dual a join dual b on a.key = b.key; 而不是传统的格式:SELECT t1.a1 as c1, t2.b1 as c2FROM t1, t2WHERE t1.a2 = t2.b22、分号字符 分号是SQL语句结束标记,在HiveQL中也是,但是在...

2022-01-19 06:26:40 715

转载 【Flink】状态一致性、端到端的精确一次(ecactly-once)保证

核心提示:当在分布式系统中引入状态时,自然也引入了一致性问题。一致性实际上是正确性级别的另一种说法,也就是说在成功处理故障并恢复之后得到的结果,与没有发生任何故障时得到的结果相比,前者到底有多正确?举例来说,假设要对最近一小时登录的用户计数。在系统经历故障之后,计数结果是多少?如果有偏差,是有漏掉的计数还是重复计数?后端写在前面:我是「云祁」,一枚热爱技术、会写诗的大数据开发猿。昵称来源于王安石诗中一句[ 云之祁祁,或雨于渊 ],甚是喜欢。写博客一方面是对自己学习的一点点总结及记录,另一方面..

2021-12-22 15:18:52 1436

转载 Spark 踩坑记:数据库(Hbase+Mysql)

前言在使用Spark Streaming的过程中对于计算产生结果的进行持久化时,我们往往需要操作数据库,去统计或者改变一些值。最近一个实时消费者处理任务,在使用spark streaming进行实时的数据流处理时,我需要将计算好的数据更新到hbase和mysql中,所以本文对spark操作hbase和mysql的内容进行总结,并且对自己踩到的一些坑进行记录。Spark Streaming持久化设计模式DStreams输出操作print:打印driver结点上每个Dstream中的前10个

2021-08-24 15:04:08 457

转载 深入浅出一致性Hash原理,及问题解决

一、前言在解决分布式系统中负载均衡的问题时候可以使用Hash算法让固定的一部分请求落到同一台服务器上,这样每台服务器固定处理一部分请求(并维护这些请求的信息),起到负载均衡的作用。但是普通的余数hash(hash(比如用户id)%服务器机器数)算法伸缩性很差,当新增或者下线服务器机器时候,用户id与服务器的映射关系会大量失效。一致性hash则利用hash环对其进行了改进。二、一致性Hash概述为了能直观的理解一致性hash原理,这里结合一个简单的例子来讲解,假设有4台服务器,地址为ip1,i

2021-07-30 09:34:51 1080

《深入理解Kafka:核心设计与实践原理》_朱忠华.txt

深入理解Kafka:核心设计与实践原理,高清完整带目录版。

2019-06-10

golang秒杀系统和web后台开发视频

go秒杀系统和web后台系统开发视频,值得学习,值得学习,go很好的视频。

2019-04-21

tcpip应用第四版 完整版

tcpip应用第四版 完整版tcpip应用第四版 完整版tcpip应用第四版 完整版tcpip应用第四版 完整版

2017-11-28

Ceph 整合OpenStack

Ceph 整合OpenStack过程,Ceph 整合OpenStack 遇到问题解决

2017-11-19

Linux数据库宝典(中文版)绝版

Linux数据库宝典(中文版)绝版

2017-01-09

Twisted网络编程必备

Twisted网络编程必备,高清完整版,值得收藏

2017-01-09

深入理解Java虚拟机:JVM高级特性与最佳实践].周志明.高清扫描版.pdf

深入理解Java虚拟机:JVM高级特性与最佳实践].周志明.高清扫描版.pdf,完整高清版,值得珍藏

2017-01-09

Outh2.0 Demo,可以运行,优质资源

基于OAuth2.0协议,spring security oauth2.0

2014-11-06

高性能的socket通讯服务器(完成端口模型--IOCP)

很多人费尽心思,都没有找到一个完美的 I/O CP 例程,甚至跟人于误解,先将本人编写的例程公布出来,希望对那些苦苦寻觅的人带来收获。本例程可以作为初学者的学习之用,亦可以作为大型服务程序的通讯模块。其处理速度可以说,优化到了极点。如果理解了本例程的精髓,加上一个高效的通讯协议,你完全可以用它来构建一个高性能的通讯服务器。

2014-06-02

python入账管理系统源码

很好的源码,python的,使用到了python的界面技术,数据库技术以及统计技术,很好很强大!

2014-05-31

Python的入门代码(银行管理系统)

里面有一个简单的银行管理系统和一些其他方面的练习代码

2014-05-31

C++项目源代码

一个非常好的C++ 开源项目代码,Snort最重要的用途还是作为网络入侵检测系统(NIDS),想学习C++的同学可以看看这个开源项目代码!

2014-05-27

FreeBSD CCPP开发环境

linux FreeBSD环境下C++开发环境的搭建,讲解的非常详细。

2014-05-27

高级TCPIP编程

纯粹的C、C++技术讲解,和开发工具无关,跨平台。

2014-05-15

电信计费系统(C++)

这个系统程序基于C++来学,程序已经测试,运行完全正确.有注释,很容易看懂,希望好大家分享一下成果,linux下 可以直接编译调试。

2014-05-15

著名的PetShop源码,可运行

著名的PetShop源码,可运行,很好的层次架构,值的学习一下。

2014-04-17

Node.js开发指南中文正版

Node.js开发指南_中文正版,很详细很清楚。

2014-04-12

Linux Socket 源码

Linux下的飞鸽传书源码,一定要看看,提高Socket开发技能。

2014-04-12

C++游戏编程 服务器端

用C++开发高并发服务器端程序,主要勇于游戏编程方面的书籍。

2014-04-07

C游戏编程从入门到精通

用C语言开发游戏编程,从入门到精通,很详细,很透。

2014-04-07

Vmware +linux + C开发环境搭建手册

Vmware +linux + C++开发环境的详细安装过程

2014-04-05

安卓高仿手机QQ客服端

安卓高仿手机QQ客服端,源码直接可以运行。

2013-03-13

qq界面源码(android)

qq界面android源码,很值得学习研究,下载科直接运行

2013-03-12

qq微博android

qq微博android源码,很值得学习研究,很详细的资料

2013-03-12

红孩子电子商城(传智播客)

红孩子电子商城(传智播客),很详细源码,值得研究学习

2013-03-12

空空如也

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

TA关注的人

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