自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(72)
  • 资源 (13)
  • 收藏
  • 关注

原创 Maven打包时将本地 jar 加入 classpath

本文主要介绍了在同时存在本地 jar 依赖和远端依赖的时候,如何将所有依赖的 jar 都添加到 classpath 中

2024-07-24 11:47:57 499

原创 IDEA HTTP Client 插件配置空密码的 Request

最近在测试一些 rest api 的时候,发现 IDEA 的 HTTP Client 很好用。这里主要记录下,当用户名没有设置密码时,我们该如何配置这个 HTTP Client 的 Request 文件,以实现 HTTP Request 的正确连接。

2024-05-10 15:02:15 311

原创 【StarRocks系列】 Trino 方言支持

我们在之前的文章中,介绍了 Doris 官方提供的两种方言转换工具,分别是 sql convertor 和方言 plugin。StarRocks 目前同样也提供了类似的方言转换功能。本文我们就一起来看一下这个功能的实现与 Doris 相比有何不同。

2024-05-06 20:39:55 1250

原创 【Doris系列】 SQL 多方言兼容

目前 Doris 引擎提供了两种方式实现对 sql 多方言的支持。即,提交指定方言的 sql,Doris 可以成功解析,并返回正确的计算结果。本文针对这两种方言转换的工具进行了测试,并分析了其相关的代码流程

2024-04-29 14:30:08 1343

原创 【Calcite源码学习】ImmutableBitSet介绍

Calcite中实现了一个ImmutableBitSet类,用于保存bit集合。在很多优化规则和物化视图相关的类中都使用了ImmutableBitSet来保存group by字段或者聚合函数参数字段对应的index。本文从源码层面梳理了ImmutableBitSet类相关的一些关键函数。

2023-02-15 10:55:10 699 1

原创 Calcite parser config介绍

Calcite针对sql parse提供了很多的配置项,可以针对不同的sql方言进行解析。将sql解析成一个Calcite的SqlNode,这是一个AST。本文将介绍常见的几个parser config。

2022-11-18 11:51:25 1013

原创 【Presto Profile系列】Timeline使用

本文我们将从代码层面来看一下Presto页面提供的Timeline包含了哪些内容,以及我们该如何使用它来排查一个查询的瓶颈点。

2022-06-30 17:54:49 1053 1

原创 【Calcite源码学习】SqlNode方言转换

本文介绍了Calcite方言转换功能的代码处理逻辑,以及几个简单的具体功能实现。

2022-05-17 20:09:55 3529 5

原创 【Presto源码学习】ResourceGroups调度策略

本文结合代码简单梳理了presto的schedulingPolicy配置项所支持的四种调度策略以及生效的两种场景,并在文章末尾简单对比了四种调度策略各自的特点。

2022-04-08 21:17:16 1702

原创 【Trino源码学习】Trino源码剖析之catalog加载

我们在上篇文章中,跟着代码一步步分析,梳理了trino在加载plugin的过程中,主要做了哪些事情。归纳总结起来就是,创建了每个plugin对应的PluginClassLoader以及InternalConnectorFactory,这个InternalConnectorFactory封装了每个plugin的ConnectorFactory。本文我们将继续跟着代码进行分析,看看trino在加载catalog的时候又做了哪些事情。

2022-02-23 15:50:44 1699

原创 【Trino源码学习】Trino源码剖析之plugin加载

最近在研究Trino的相关代码,发现用到了大量的函数式编程和lambda表达式等java8的新特性。刚开始接触门槛比较高,代码阅读也比较费劲,因此希望借这个系列,对自己的代码学习做一些记录,能够帮助到一些刚入门的同学。本文将会跟着代码,一步一步分析Trino的plugin加载到底做了哪些事情,

2022-02-19 11:03:27 1913 4

原创 Trino lambda表达式使用学习小结

本文为笔者的学习笔记,主要总结了Trino源码中比较典型的lambda表达式的用法和个人的理解。

2022-02-10 21:02:50 645

原创 Trino连接ClickHouse代码浅析

本文简单介绍了Trino对于ClickHouse的适配,主要是从plugin的加载,catalog的加载等方面进行了简单的梳理。

2022-02-10 16:13:06 2023

原创 Impala metrics之statestore-subscriber

本文主要梳理一下Impala的“statestore-subscriber”相关的metrics,这类metrics主要是在catalog和impalad上存在。

2021-12-16 20:43:19 732

原创 Impala metrics详解之Jvm篇

Impala的web页面提供了非常丰富的信息,其中就包括各种metrics信息。这些metrics非常多,但是官方也没有专门文档解释,所以有时候也看不明白是什么意思。本文笔者将结合代码,跟大家一起学习一下Jvm相关的metrics分别是什么含义,以及如何计算得到的。

2021-11-26 16:08:57 1448

原创 LocalCatalog详解之Catalogd处理流程

在之前的文章中,我们介绍了在LocalCatalog模式下,coordinator的相关流程。本文就继续介绍该模式下,catalogd的处理流程,以及coordinator如何通过catalogd发送的消息来更新自己的本地缓存。

2021-10-09 11:05:15 494 3

原创 Impala与内嵌Jvm之间的交互

了解过Impala的同学都知道,Impala的节点分为BE和FE两个模块,分别是由C++和Java编写的。关于这两个模块之间是如何交互的,相关的资料比较少。因此,本文笔者就和大家一起学习下,Impala的BE和FE之间是如何通过JNI进行交互的。

2021-09-28 15:39:34 799

原创 LocalCatalog详解之Coordinator处理流程

针对Impala的catalogd服务在元数据量很大情况下产生的瓶颈,社区在3.x版本开始开发LocalCatalog功能,在4.x版本已经比较成熟。本文主要会从两个常见的场景出发,结合代码,来跟大家一起学习下,Impala在LocalCatalog模式下,coordinator节点的处理逻辑。同时

2021-09-24 20:41:43 715

原创 一文读懂Impala统计信息相关知识

本文主要介绍了Impala的表级别、列级别的统计信息内容,以及几种不同场景下的统计信息计算,最后简单介绍了统计信息是如何获取的。总的来说,统计信息可以帮助Impala生成更优的执行计划,对于减少内存消耗也有一定的帮助,是非常重要的信息,对于其他的计算引擎也是一样。

2021-09-14 20:16:33 2888

原创 Impala 4.0源码解析之BROADCAST/SHUFFLE代价计算

本文介绍了Impala在选择join方式的时候,是如何分别对broadcast和shuffle进行代价计算的。除此之外,也逐个介绍了代价计算中用到的cardinality、selectivity和row size的含义,以及各自的计算方式。需要注意的是,我们这里讨论的前提是:表的统计信息都是准确的,并且是完整的。

2021-09-05 11:28:46 1624 5

原创 Impala 3.4 SQL查询之ScanRange流程归纳(六)

我们在前面几篇文章,从代码处理层面,详细分析了Impala的ScanRange相关知识,包括FE端的处理、parquet文件的处理、IO thread的处理等,涉及到的内容比较多。本文笔者将前几篇文章的内容做了一个汇总,整体看一下Impala的整个ScanRange的处理流程。

2021-04-29 20:20:53 455

原创 Impala 3.4 SQL查询之ScanRange详解(五)

在上篇文章中,我们介绍了PerDiskState的unstarted_scan_ranges_这个队列的更新逻辑,本文我们将主要介绍in_flight_ranges_队列的更新。同时,还会涉及到Impala对于parquet的相关处理流程。

2021-04-28 16:40:40 833

原创 Impala 3.4 SQL查询之ScanRange详解(四)

在上篇文章中,我们主要介绍了ScanRange的构造,以及在FE和BE端的一些处理流程。同时,我们还介绍了IO thead处理模型中一个比较重要的对象RequestContext::PerDiskState,以及部分成员变量的含义,在本篇文章中,我们将介绍其中一个比较重要的成员:unstarted_scan_ranges_。

2021-04-16 19:59:28 898

原创 Impala 3.4 SQL查询之ScanRange详解(三)

我们在本系列的前两篇文章中,简单介绍了SQL查询的整个流程以及重写的相关知识。在接下来的这几篇中,会跟大家一起详细学习ScanRange的知识。由于涉及到的内容非常多,因此会分成几篇来讲解,主要会涉及到HDFS_SCAN_NODE、IO thread等知识。由于现在相关的文档比较少,这些文章都是笔者根据代码和实际调试结果整理出来的,如有错误,欢迎指正。

2021-04-16 10:59:20 1009

原创 Impala HDFS_SCAN_NODE之AverageHdfsReadThreadConcurrency

本文主要从代码分析,介绍了Impala的HDFS_SCAN_NODE中的AverageHdfsReadThreadConcurrency这个counter的含义,以及是如何进行更新和计算的。

2021-04-08 15:17:39 544

原创 Impala HDFS_SCAN_NODE之IO threads模型

本文主要介绍了Impala HDFS_SCAN_NODE中的IO threads模型,通过源码进行分析,阐述了Impala对于本地disk以及各种远端dfs的处理流程,同时对HDFS_SCAN_NODE中的一些指标进行了简要解释。

2021-03-31 14:45:34 1044

原创 Impala cast timestamp导致相同SQL查询不一致问题排查

本文主要记录在使用Impala 3.4.0版本时遇到的一个问题以及排查过程,问题主要就是对于同一个SQL查询,有时候成功,有时候会抛出异常。而该问题主要是与Timestamp的cast操作有关。

2021-02-08 11:36:42 1038

原创 Idea调整函数参数位置的换行格式

在Idea中,当我们在函数定义的地方,换行的时候,如果刚好是参数,那么默认换行的参数,就会与第一个参数对齐,如下所示:如果我们想调整一下,让这种情况,与普通换行保持一致(即缩进两个tab大小),那么就需要调整配置,如下所示:选择:“Preferences” -> “Editor” -> “Code Style” -> “Java”,然后点击“Wrappping and Braces”标签页,找到“Method declaration parameters”,把该列下面的“Align

2021-01-04 15:19:06 5749 1

原创 Impala 3.4 SQL查询之重写(二)

在上一篇文章中,我们介绍了Impala基本的SQL解析流程。本文我们将跟大家一起看下Impala中的一些SQL重写规则。

2020-12-29 11:24:39 719

原创 Impala 3.4 SQL查询梳理(一)

本文简单讲解了Impala SQL解析的相关流程,以及其中涉及到的一些类,源码分析是基于社区3.4.0版本。

2020-12-24 11:39:19 1364 4

原创 Impala 2.12.0与3.4.0版本的compute stats兼容问题

我们在本文中,主要讲了一个我们在从2.12.0版本升级到3.4.0版本的时候,遇到的compute stats的问题。包括了问题描述、代码研究以及重现步骤三个章节。

2020-12-23 15:38:14 784 1

原创 gdb打印vector(亲测有效)

本文主要介绍了如何在GDB中打印vector容器

2020-11-26 15:52:35 11273 1

原创 问题排查--Impala查询Decimal数据为NULL,Hive查询正常

目前,线上反馈一个问题:同一张表,使用Hive查询正常,但是使用Impala查询,返回的数据中,部分字段值为NULL。我们使用impala执行了invalidate metadata xxx,排查了元数据不一致的问题,同时查看源文件,也排除了数据本身的问题。最终,通过在Impalad的web页面上查看该SQL的profile发现,其中存在如下的Errors:通过查询相关的错误,我们发现官方对于这块有相应地解释:For text-based formats (text, RCFile, and Seq

2020-11-12 16:53:18 3043

原创 问题排查--Kylin开启G1垃圾回收算法导致进程无法启动

Kylin的JVM参数可以通过修改$conf/setenv.sh中的KYLIN_JVM_SETTINGS参数来进行配置,默认使用的GC算法是ParNew+CMS,我们可以通过jcmd pid VM.flags来查看进程的JVM参数,如下所示:最近由于查询和任务变多,Kylin节点在高峰期会出现由于GC导致服务停顿时间比较久的情况,因此准备将GC算法调整为G1,我们直接修改KYLIN_JVM_SETTINGS,如下所示:export KYLIN_JVM_SETTINGS="-Xms128G -Xmx12

2020-11-11 11:04:18 401

原创 Kylin页面删除Segment

Kylin在新版本中提供了页面上删除Segment的功能,这里就简单介绍一下该功能。

2020-08-28 19:26:02 1101

原创 记一次Apache Kylin的慢查询排查及优化

目前业务在使用Kylin的时候反馈查询很慢,直接超时了(超时时间设置的为5min),在日志中获取了相应的SQL以及Cube之后发现:SQL扫描了不到2个月的数据,500多G大小,26亿的记录数;SQL中涉及到了4个count distinct计算(bitmap);当前集群环境如下:Kylin服务器2台,部署了2个节点,都是all;HBase集群服务器4台,每台部署了2个regionserver;Kylin版本为2.6.6;该cube设置的合并时间为7天/28天,Storage情况如下所

2020-08-21 13:45:33 817

原创 Impala配置Ranger服务进行权限控制

Impala目前在新版本3.4中提供了Sentry和Ranger的2种权限管控,我们这里分别介绍一下最新的使用,这里跟2.12.0的版本有所不同。

2020-08-14 14:46:04 3276 5

原创 关于Impala的use_local_tz_for_unix_timestamp_conversions参数探究

本文主要介绍了Impala的use_local_tz_for_unix_timestamp_conversions参数的作用。

2020-07-29 16:03:28 799

原创 HUE下载提示The number of resulting rows was too big to be downloaded

目前,我们内部使用hue作为图形界面工具,通过beeswax来连接impala集群进行sql查询。用户反馈在对查询结果使用Excel进行保存之后报错,错误信息如下所示:The number of resulting rows was too big to be downloaded and the resulting file has been truncated to 2 rows跟用户确认,结果集也并不大,只有几千行。换成csv之后,下载不会报错,但是下载完成之后,打开的文件内容为空,只有一行列名

2020-06-01 15:11:39 317

原创 Impala graceful shutdown功能介绍

本文主要介绍了Impala的graceful shutdown功能,该功能避免了节点直接退出,导致该节点上的所有SQL都会失败的问题。

2020-03-09 16:56:29 1278

libstdc++.so.6.0.24

libstdc++.so.6.0.24,包含GLIBCXX_3.4.24、CXXABI_1.3.11以及更低的版本,unbuntu测试可用

2020-07-14

TCP/IP详解 卷一卷二卷三

TCP/IP详解三卷高清PDF,每卷分章节显示!不是一卷,三卷集合!

2015-01-11

将Win7电脑无线网变成无线路由器

通过设置将自己的笔记本电脑变成无线路由器,轻松连Wifi!

2013-10-23

VB实现简易机床管理系统

本系统为VB课程期末作业,实现了一个简易的机床管理系统,解压即可使用!

2013-10-23

ASP网站开发典型模块与实例精讲

本文件包括《ASP网站开发典型模块与实例精讲》一书中所有源码示例,解压即可使用,由于文件大小限制,不包括视频!

2013-10-23

ASP数据库开发实例精粹

本文件包括《ASP数据库开发实例精粹》一书中所有源码实实例,由于文件大小限制,没有包含视频部分!

2013-10-23

ASP 网站开发设计 从基础到实践

本文件包括《ASP 网站开发设计 从基础到实践》一书中所有示例源码,解压即可使用!

2013-10-23

ASP网络开发实用工程案例

本文件包含《ASP网络开发实用工程案例》一书中所有源码示例,解压即可使用!

2013-10-23

ASP.NET数据库项目案例导航

本源码包括《ASP.NET数据库项目案例导航》书中所有的源码示例,解压即可使用!

2013-10-23

网站开发专家 Dreamweaver8+ASP动态网站开发实务

压缩文件包含书中所有源代码示例,解压即可使用!

2013-10-23

学前教育网站

本系统为本科专业实践,实现的是学前教育网站,可直接用Dreamweaver打开,不需要数据库的动态网站

2013-10-23

遗传算法解决背包问题

本示例为JAVA编写的用遗传算法解决背包问题,解压导入项目即可以运行!

2013-10-23

电脑配件网上购物商城

本系统为完整的本科毕业系统设计,包括源代码和数据库,用MyEclipse开发,1数据库为MySql,亲测无误!

2013-10-23

空空如也

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

TA关注的人

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