<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[skyyws的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/skyyws</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; skyyws]]></copyright><item><title><![CDATA[Maven打包时将本地 jar 加入 classpath]]></title><link>https://blog.youkuaiyun.com/skyyws/article/details/140658842</link><guid>https://blog.youkuaiyun.com/skyyws/article/details/140658842</guid><author>skyyws</author><pubDate>Wed, 24 Jul 2024 11:47:57 +0800</pubDate><description><![CDATA[本文主要介绍了在同时存在本地 jar 依赖和远端依赖的时候，如何将所有依赖的 jar 都添加到 classpath 中]]></description><category></category></item><item><title><![CDATA[IDEA HTTP Client 插件配置空密码的 Request]]></title><link>https://blog.youkuaiyun.com/skyyws/article/details/138666054</link><guid>https://blog.youkuaiyun.com/skyyws/article/details/138666054</guid><author>skyyws</author><pubDate>Fri, 10 May 2024 15:02:15 +0800</pubDate><description><![CDATA[最近在测试一些 rest api 的时候，发现 IDEA 的 HTTP Client 很好用。这里主要记录下，当用户名没有设置密码时，我们该如何配置这个 HTTP Client 的 Request 文件，以实现 HTTP Request 的正确连接。]]></description><category></category></item><item><title><![CDATA[【StarRocks系列】 Trino 方言支持]]></title><link>https://blog.youkuaiyun.com/skyyws/article/details/138507369</link><guid>https://blog.youkuaiyun.com/skyyws/article/details/138507369</guid><author>skyyws</author><pubDate>Mon, 06 May 2024 20:39:55 +0800</pubDate><description><![CDATA[我们在之前的文章中，介绍了 Doris 官方提供的两种方言转换工具，分别是 sql convertor 和方言 plugin。StarRocks 目前同样也提供了类似的方言转换功能。本文我们就一起来看一下这个功能的实现与 Doris 相比有何不同。]]></description><category></category></item><item><title><![CDATA[【Doris系列】 SQL 多方言兼容]]></title><link>https://blog.youkuaiyun.com/skyyws/article/details/138311783</link><guid>https://blog.youkuaiyun.com/skyyws/article/details/138311783</guid><author>skyyws</author><pubDate>Mon, 29 Apr 2024 14:30:08 +0800</pubDate><description><![CDATA[目前 Doris 引擎提供了两种方式实现对 sql 多方言的支持。即，提交指定方言的 sql，Doris 可以成功解析，并返回正确的计算结果。本文针对这两种方言转换的工具进行了测试，并分析了其相关的代码流程]]></description><category></category></item><item><title><![CDATA[【Calcite源码学习】ImmutableBitSet介绍]]></title><link>https://blog.youkuaiyun.com/skyyws/article/details/129039303</link><guid>https://blog.youkuaiyun.com/skyyws/article/details/129039303</guid><author>skyyws</author><pubDate>Wed, 15 Feb 2023 10:55:10 +0800</pubDate><description><![CDATA[Calcite中实现了一个ImmutableBitSet类，用于保存bit集合。在很多优化规则和物化视图相关的类中都使用了ImmutableBitSet来保存group by字段或者聚合函数参数字段对应的index。本文从源码层面梳理了ImmutableBitSet类相关的一些关键函数。]]></description><category></category></item><item><title><![CDATA[Calcite parser config介绍]]></title><link>https://blog.youkuaiyun.com/skyyws/article/details/127919547</link><guid>https://blog.youkuaiyun.com/skyyws/article/details/127919547</guid><author>skyyws</author><pubDate>Fri, 18 Nov 2022 11:51:25 +0800</pubDate><description><![CDATA[Calcite针对sql parse提供了很多的配置项，可以针对不同的sql方言进行解析。将sql解析成一个Calcite的SqlNode，这是一个AST。本文将介绍常见的几个parser config。]]></description><category></category></item><item><title><![CDATA[【Presto Profile系列】Timeline使用]]></title><link>https://blog.youkuaiyun.com/skyyws/article/details/125544268</link><guid>https://blog.youkuaiyun.com/skyyws/article/details/125544268</guid><author>skyyws</author><pubDate>Thu, 30 Jun 2022 17:54:49 +0800</pubDate><description><![CDATA[本文我们将从代码层面来看一下Presto页面提供的Timeline包含了哪些内容，以及我们该如何使用它来排查一个查询的瓶颈点。]]></description><category></category></item><item><title><![CDATA[【Calcite源码学习】SqlNode方言转换]]></title><link>https://blog.youkuaiyun.com/skyyws/article/details/124828049</link><guid>https://blog.youkuaiyun.com/skyyws/article/details/124828049</guid><author>skyyws</author><pubDate>Tue, 17 May 2022 20:09:55 +0800</pubDate><description><![CDATA[本文介绍了Calcite方言转换功能的代码处理逻辑，以及几个简单的具体功能实现。]]></description><category></category></item><item><title><![CDATA[【Presto源码学习】ResourceGroups调度策略]]></title><link>https://blog.youkuaiyun.com/skyyws/article/details/124051080</link><guid>https://blog.youkuaiyun.com/skyyws/article/details/124051080</guid><author>skyyws</author><pubDate>Fri, 08 Apr 2022 21:17:16 +0800</pubDate><description><![CDATA[本文结合代码简单梳理了presto的schedulingPolicy配置项所支持的四种调度策略以及生效的两种场景，并在文章末尾简单对比了四种调度策略各自的特点。]]></description><category></category></item><item><title><![CDATA[【Trino源码学习】Trino源码剖析之catalog加载]]></title><link>https://blog.youkuaiyun.com/skyyws/article/details/123091858</link><guid>https://blog.youkuaiyun.com/skyyws/article/details/123091858</guid><author>skyyws</author><pubDate>Wed, 23 Feb 2022 15:50:44 +0800</pubDate><description><![CDATA[我们在上篇文章中，跟着代码一步步分析，梳理了trino在加载plugin的过程中，主要做了哪些事情。归纳总结起来就是，创建了每个plugin对应的PluginClassLoader以及InternalConnectorFactory，这个InternalConnectorFactory封装了每个plugin的ConnectorFactory。本文我们将继续跟着代码进行分析，看看trino在加载catalog的时候又做了哪些事情。]]></description><category></category></item><item><title><![CDATA[【Trino源码学习】Trino源码剖析之plugin加载]]></title><link>https://blog.youkuaiyun.com/skyyws/article/details/123015660</link><guid>https://blog.youkuaiyun.com/skyyws/article/details/123015660</guid><author>skyyws</author><pubDate>Sat, 19 Feb 2022 11:03:27 +0800</pubDate><description><![CDATA[最近在研究Trino的相关代码，发现用到了大量的函数式编程和lambda表达式等java8的新特性。刚开始接触门槛比较高，代码阅读也比较费劲，因此希望借这个系列，对自己的代码学习做一些记录，能够帮助到一些刚入门的同学。本文将会跟着代码，一步一步分析Trino的plugin加载到底做了哪些事情，]]></description><category></category></item><item><title><![CDATA[Trino lambda表达式使用学习小结]]></title><link>https://blog.youkuaiyun.com/skyyws/article/details/122869256</link><guid>https://blog.youkuaiyun.com/skyyws/article/details/122869256</guid><author>skyyws</author><pubDate>Thu, 10 Feb 2022 21:02:50 +0800</pubDate><description><![CDATA[本文为笔者的学习笔记，主要总结了Trino源码中比较典型的lambda表达式的用法和个人的理解。]]></description><category></category></item><item><title><![CDATA[Trino连接ClickHouse代码浅析]]></title><link>https://blog.youkuaiyun.com/skyyws/article/details/122863189</link><guid>https://blog.youkuaiyun.com/skyyws/article/details/122863189</guid><author>skyyws</author><pubDate>Thu, 10 Feb 2022 16:13:06 +0800</pubDate><description><![CDATA[本文简单介绍了Trino对于ClickHouse的适配，主要是从plugin的加载，catalog的加载等方面进行了简单的梳理。]]></description><category></category></item><item><title><![CDATA[Impala metrics之statestore-subscriber]]></title><link>https://blog.youkuaiyun.com/skyyws/article/details/121983437</link><guid>https://blog.youkuaiyun.com/skyyws/article/details/121983437</guid><author>skyyws</author><pubDate>Thu, 16 Dec 2021 20:43:19 +0800</pubDate><description><![CDATA[本文主要梳理一下Impala的“statestore-subscriber”相关的metrics，这类metrics主要是在catalog和impalad上存在。]]></description><category></category></item><item><title><![CDATA[Impala metrics详解之Jvm篇]]></title><link>https://blog.youkuaiyun.com/skyyws/article/details/121562098</link><guid>https://blog.youkuaiyun.com/skyyws/article/details/121562098</guid><author>skyyws</author><pubDate>Fri, 26 Nov 2021 16:08:57 +0800</pubDate><description><![CDATA[Impala的web页面提供了非常丰富的信息，其中就包括各种metrics信息。这些metrics非常多，但是官方也没有专门文档解释，所以有时候也看不明白是什么意思。本文笔者将结合代码，跟大家一起学习一下Jvm相关的metrics分别是什么含义，以及如何计算得到的。]]></description><category></category></item><item><title><![CDATA[LocalCatalog详解之Catalogd处理流程]]></title><link>https://blog.youkuaiyun.com/skyyws/article/details/120666735</link><guid>https://blog.youkuaiyun.com/skyyws/article/details/120666735</guid><author>skyyws</author><pubDate>Sat, 09 Oct 2021 11:05:15 +0800</pubDate><description><![CDATA[在之前的文章中，我们介绍了在LocalCatalog模式下，coordinator的相关流程。本文就继续介绍该模式下，catalogd的处理流程，以及coordinator如何通过catalogd发送的消息来更新自己的本地缓存。]]></description><category></category></item><item><title><![CDATA[Impala与内嵌Jvm之间的交互]]></title><link>https://blog.youkuaiyun.com/skyyws/article/details/120530612</link><guid>https://blog.youkuaiyun.com/skyyws/article/details/120530612</guid><author>skyyws</author><pubDate>Tue, 28 Sep 2021 15:39:34 +0800</pubDate><description><![CDATA[了解过Impala的同学都知道，Impala的节点分为BE和FE两个模块，分别是由C++和Java编写的。关于这两个模块之间是如何交互的，相关的资料比较少。因此，本文笔者就和大家一起学习下，Impala的BE和FE之间是如何通过JNI进行交互的。]]></description><category></category></item><item><title><![CDATA[LocalCatalog详解之Coordinator处理流程]]></title><link>https://blog.youkuaiyun.com/skyyws/article/details/120462684</link><guid>https://blog.youkuaiyun.com/skyyws/article/details/120462684</guid><author>skyyws</author><pubDate>Fri, 24 Sep 2021 20:41:43 +0800</pubDate><description><![CDATA[针对Impala的catalogd服务在元数据量很大情况下产生的瓶颈，社区在3.x版本开始开发LocalCatalog功能，在4.x版本已经比较成熟。本文主要会从两个常见的场景出发，结合代码，来跟大家一起学习下，Impala在LocalCatalog模式下，coordinator节点的处理逻辑。同时]]></description><category></category></item><item><title><![CDATA[一文读懂Impala统计信息相关知识]]></title><link>https://blog.youkuaiyun.com/skyyws/article/details/120295560</link><guid>https://blog.youkuaiyun.com/skyyws/article/details/120295560</guid><author>skyyws</author><pubDate>Tue, 14 Sep 2021 20:16:33 +0800</pubDate><description><![CDATA[本文主要介绍了Impala的表级别、列级别的统计信息内容，以及几种不同场景下的统计信息计算，最后简单介绍了统计信息是如何获取的。总的来说，统计信息可以帮助Impala生成更优的执行计划，对于减少内存消耗也有一定的帮助，是非常重要的信息，对于其他的计算引擎也是一样。]]></description><category></category></item><item><title><![CDATA[Impala 4.0源码解析之BROADCAST/SHUFFLE代价计算]]></title><link>https://blog.youkuaiyun.com/skyyws/article/details/120111661</link><guid>https://blog.youkuaiyun.com/skyyws/article/details/120111661</guid><author>skyyws</author><pubDate>Sun, 05 Sep 2021 11:28:46 +0800</pubDate><description><![CDATA[本文介绍了Impala在选择join方式的时候，是如何分别对broadcast和shuffle进行代价计算的。除此之外，也逐个介绍了代价计算中用到的cardinality、selectivity和row size的含义，以及各自的计算方式。需要注意的是，我们这里讨论的前提是：表的统计信息都是准确的，并且是完整的。]]></description><category></category></item></channel></rss>