自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Clickhouse专业避坑指南&最佳实践

前言本文通过列举一些用户在使用Clickhouse时经常遇到的问题,通过分析这些问题并提供最佳实践方式,从而帮助读者更好的将Clickhouse融入到生产环境中。1.数据块过多这是ClickHouse中经常出现的一个错误,通常是因为CickHouse的使用方式不正确、没有遵循最佳实践的方式进行数据写入,触发这个错误,并且会出现在ClickHouse日志或插入请求的响应中。要理解这个错误,用户需要对ClickHouse中“数据块”(data part)的概念有一个基本的了解。在ClickHouse中,一个表由

2023-04-22 12:21:00 4383

转载 如何基于Spark Web UI进行Spark作业的性能调优

如果了解自己的数据和应用程序,那么可以从执行UI中推断出理想的数据分布和所需的分区数。例如,假设在给定事件“x”上应用了某些数据的过滤器,那么在生成的RDD中,“事件”列就变得多余了,因为从技术上讲,所有行都是事件“x”。Spark Web UI是分析Spark作业性能的非常方便的工具,但是对于初学者来说,仅从这些分散的可视化页面数据很难获取到有用的信息。请注意,本文并不包含从Spark Web UI中解释的详尽信息列表,而只包含我在项目中发现的相关信息,但对于读者来说足够通用。希望作业中有更少的阶段。

2023-04-11 21:09:37 917

原创 在ClickHouse中使用物化视图(Materialized Views)

原文地址:在ClickHouse中使用物化视图(Materialized Views)

2023-04-05 09:53:44 287

原创 ANTLR4基本语法

ANTLR4是一款非常灵活和强大的工具,可以支持多种语言的语法定义,并提供了丰富的语法规则和操作符来支持高级语言特性的定义和处理。一个ANTLR4文法由语法规则和词法规则组成,语法规则定义了语言的结构和语法,词法规则定义了语言中的词汇元素(Token)。使用ANTLR4可以大大简化语法解析器的开发难度,使得开发者可以更加专注于业务逻辑的实现,而无需手动编写和维护大量的语法规则和解析逻辑。其中,RULE_REF 是一个规则名称,ruleAltList 是一个或多个语法规则的定义,每个规则使用竖线 | 分隔。

2023-04-01 10:43:56 1288

原创 分布式应用框架:Akka学习记录

事件可以由日志中的消息流重新生成,以便从过去的状态中重建Actor的状态。使用Event Sourcing的好处是可以实现最终一致性,因为在重播事件日志期间,系统的状态是通过执行事件的历史记录而推导出来的,而不是通过直接查询内存中的状态获得的。其中,基于事件日志的模式是推荐的模式,因为它提供了更好的性能和可伸缩性,并允许Actor以非常高的速率进行状态更新。在Akka中,所有的工作都由Actor执行,每个Actor都是一个独立的计算单元,可以接收和处理消息,也可以发送消息给其他Actor。

2023-04-01 10:40:12 531

原创 大数据管理平台​DataSophon开源动态&进行远程Debug方法

生产环境问题定位:在生产环境中,一些问题是只在生产环境才会出现,需要在生产环境中进行调试和定位,但是直接在生产环境中修改和调试会对系统的稳定性造成影响,所以使用远程Debug技术可以在保证系统稳定的前提下进行调试和定位。在远程Debug过程中,调试器可以向JVM发送命令来获取程序的状态,例如当前的线程状态、线程堆栈、变量值等等。多线程问题调试:在多线程的程序中,由于线程之间的并发性和异步性,很难手动定位到具体的问题代码,使用远程Debug技术可以方便地追踪线程的执行过程,定位到具体的问题代码。

2023-03-26 17:02:56 1124

转载 Spark SQL深入分析之图解五种Join策略的执行流程与应用场景

本文将从原理层面介绍SparkSQL支持的五大连接策略及其适用场景。通过本文的学习,你将会了解Spark SQL中五大连接策略的连接原理,并且学会根据不同的影响因素和不同的需求场景,选择合适的连接策略,从而更好地完成你的工作。

2022-11-22 23:39:38 548

转载 Spark SQL深入分析之图解HashAggregateExec & ObjectHashAggregateExec执行流程

这篇文章继续探讨聚合策略,主要介绍Spark SQL提供的两个基于hash的聚合操作符,即HashAggregateExec和ObjectHashAggregateExec。

2022-11-22 23:37:44 843

转载 Spark SQL深入分析之图解SortAggregateExec执行流程

不像基于hash的聚合需要一个hash map来保存所有的缓存键值对(如grouping key -> aggregate value),SortBasedAggregationIterator只需要保存当前聚合组的聚合缓存,因此,仅需一行就足够了。SortAggregateExec使用了一种基于排序的聚合方法,该方法要求通过分组键对行进行排序,以便将具有相同分组键的行放置在一起。中我们知道,一个逻辑聚合运算符可以转化为由多个物理聚合阶段组成的物理计划,聚合策略会根据聚合表达式的类型来规划物理聚合计划。

2022-11-22 23:36:23 736

转载 Spark SQL深入分析之图解Aggregation策略工作流程

Aggregation策略根据聚合表达式的类型来规划逻辑聚合运算符的物理执行计划。

2022-11-22 23:33:53 374

原创 国产自研开源大数据管理平台DataSophon服务组件安装教程

本文安装DDP服务组件,即hadoop,spark,kafka等大数据组件,进一步体验DataSophon平台提供的其它特性。

2022-11-18 19:46:11 2899

原创 国产自研开源大数据管理平台DataSophon Manager安装教程

DataSophon是近日开源的一款国产自研大数据管理平台,致力于快速实现部署、管理、监控以及自动化运维大数据服务组件和节点的能力,帮助你快速构建起稳定、高效的大数据集群服务。主要有以下特性:极易部署,1小时可完成300节点的大数据集群部署国产化兼容,兼容ARM服务器和常用国产化操作系统监控指标全面丰富,基于生产实践展示用户最关心的监控指标灵活便捷的告警服务,可实现用户自定义告警组和告警指标可扩展性强,用户可通过配置的方式集成或升级大数据组件。

2022-11-14 17:21:27 6247 1

原创 系统架构设计师知识点总结:操作系统基本原理

针对不同的硬件平台,操作系统通常建立在一个硬件抽象层(HAL)上,该层位于底层硬件和内核之间,为内核提供各种方便移植的宏定义接口,在不同的平台间移植时,只需要修改宏定义即可。互斥是要保证临界资源在某一时刻只被一个进程访问,同步即是使各进程按一定的制约顺序和速度执行,因此可以概况为:进程的互斥是资源的竞争关系,而同步是进程间的协作关系。位示图是利用二进制的一位(0或1)来表示磁盘中的一个盘块(物理块)的使用情况,当其值为0时表示空闲,当值为1时表示占用。程序是一个静态的概念,而进程是一个动态的概念。.....

2022-08-10 21:27:35 864

原创 Ambari-2.7.5整合HDP-3.1.5集群完整安装记录(内附安Ambari-2.7.5 + HDP-3.1.5安装包下载地址)

Ambari是Apache软件基金会中顶级项目,由Ambari Server和Ambari Agent两部分组成,基于它的分布式架构特点,可以便捷的创建、管理、监控Hadoop整个生态圈(例如Hive、HBase、Kafka、ZooKeeper等)的集群。

2022-08-06 16:21:49 4127 3

转载 Spark SQL深入分析之图解五种Join策略的执行流程与应用场景

本文介绍Spark SQL所提供的五种Join策略和三种影响Join性能的因素,并且详细讲解了五种Join策略的连接原理以及在不同的影响因素下如何选择合适的Join策略,希望对大家有所帮助。

2022-08-05 08:27:54 1241 1

转载 基于规则的Spark SQL Catalyst优化器(三)

例如,在下面的查询中,连续的map操作会有一个SerializeFromObject操作,紧接着一个DesericalizeToObject操作。这个批次包括CostBasedJoinReorder规则,它是一个基于成本的优化器规则(cost-basedOptimizerrule),用于根据连接中涉及的关系的统计数字找到最有效的连接顺序。CostBasedJoinReorder规则收集join操作中涉及的关系的统计数据,计算所有有效连接组合的成本,并使用预定义的成本公式找到最佳连接组合。.........

2022-07-31 11:11:16 715

翻译 Kafka能作为数据库使用吗

导读Apache Kafka可以而且应该取代数据库吗?如果是,那么能够在Kafka中存储多长时间的数据?如何在Kafka中查询和处理数据?越来越多诸如此类的问题,你可能很难找到恰当的解释,那么你可以试着从该文章中寻找答案。Apache Kafka和Confluent的联合创始人Jay Kreps在2017年就已经解释了为什么 "在Apache Kafka中存储数据是可以的",然而,时光匆匆...

2020-04-26 09:31:08 4770

翻译 全面认识新的JVM语言:Concurnas

Concurnas Logo(真不是C语言)导读不是每天都会有一种新的JVM语言诞生,作为新的JVM语言,Concurnas具有现代的语法和功能,是开源的,并且内置了GPU计算,这为机器学习应用提供了可能。让我们一起来看看Concurna...

2020-04-24 17:33:53 383

翻译 与其它众多编程语言相比,Java在安全方面表现如何?

导读与网络安全的其他方面一样,编程语言的安全程度取决于我们所说的 “安全”。的确,与其他一些常用语言相比,Java的漏洞确实较少。同样的,一些较新的语言看起来比Java更安全,至少在第一眼看上去也是如此。很多在Java中发现的安全漏洞都是由于Java的普及而导致的。广泛的使用意味着成千上万的bug猎手致力于寻找Java语言的漏...

2020-04-24 15:09:24 1054

原创 Scala系列|从变量开始

本文同步自微信公众号:浮世Talk(ID:fausai_talk)​更好阅读体验请扫码关注公众号写完经典的Hello World程序之后,我们就要学习变量的用法了,这是学习任何编程语言都绕不开的话题。变量这个词来源于数学,在计算机语言中,变量是基本的组成单位,基于变量的数据类型,操作系统把对应类型的数据存储到内存中,然后可以根据变量名对该内存的数据进行访问。1,var &am...

2019-07-05 12:57:24 269

原创 Scala系列|写Hello World之前需要准备什么

​本文同步自微信公众号:浮世Talk(ID:fausai_talk)​更好阅读体验请扫码关注公众号相信你已经大概了解Scala的诞生背景、适用领域等基本知识了,但是在学习一门新的编程语言之前,你还需要知道关于这门语言更多一点的细节,并且弄清楚在编写经典的Hello World程序之前需要做哪些准备。1,与Java的关系Scala是一门运行在Java虚拟机(JVM)上的多范式编...

2019-06-27 23:31:26 194

原创 Scala系列|了不起的Martin Odersky

本文同步自微信公众号:浮世Talk(ID:fausai_talk)​更好阅读体验请扫码关注公众号了不起的人总能做出了不起的事,例如Scala之父Martin Odersky。Martin Odersky1980年,正在慕尼黑大学读本科的Martin第一次接触到编译器便为之痴迷,随即买了一台在当时称得上性能强悍的“便携式“电脑Osborne-1,在随后的日子里,Martin...

2019-06-27 15:59:23 430

原创 Win10内置Linux系统安装docker

​​本文同步自微信公众号:浮世Talk(ID:fausai_talk)​更好阅读体验请扫码关注公众号相信有过编程经历的朋友都有这样的体会:为了学习一门技术去安装软件时,不仅需要根据操作系统选择版本,还要考虑所依赖的软件,完了还有各种变量配置,环境配置等当然,这点小问题难不住聪明好学的你,但就是因为这该死的好学给你带来无限的磨难很快你又会进行新技能的学习,巧合的是你仍然需要安装...

2019-06-27 15:56:38 1201

原创 Win10启用内置Linux子系统(下)

​本文同步自微信公众号:浮世Talk(ID:fausai_talk)​更好阅读体验请扫码关注公众号看完上一篇文章后,相信勤于动手操作的你,已经启用了win10内置的Linux系统(以下简称wsl),或许你已经在上面尝试了不少Linux命令,并且可能沉浸在命令行的交互中流连忘返。但是细心如你应该会发现:此时你是用你在安装时新建的普通用户登录的,并不知道root用户的密码;怎样才能在不重...

2019-06-27 15:52:30 393

原创 Win10启用内置Linux子系统(上)

本文同步自微信公众号:浮世Talk(ID:fausai_talk)​更好阅读体验请扫码关注公众号几年前,那会我还在用着崭新的Win7专业版操作系统,但是由于需要学习Linux,因此不得不找了网上的教程:首先下载破解版vmware按照,接着到Ubuntu官网下载镜像文件,然后在安装好的vmware虚拟机中选择镜像文件进行一步一步安装。但是现在都9102年,对于习惯了开箱即用,用完即...

2019-06-27 15:47:40 252

空空如也

空空如也

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

TA关注的人

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