StarRocks 华为云 OBS 配置

这篇文章介绍了 StarRocks 访问华为云 OBS 的两套配置思路,并重点解释为什么并行文件系统场景需要 FE 和 BE 分别采用不同的访问实现。正文先说明普通 OBS 桶可以直接通过 S3 兼容 API 配置鉴权和外部表,但路径中含等号时需要额外参数避免 403;随后分析并行文件系统在 list 超过 1000 个文件时的兼容性问题,并给出 FE 使用华为云官方 Hadoop Jar、BE 继续走 S3 兼容 API,以及在 RCFile、Avro 等 JNI 场景下同步 Jar 和 core-site.xml 的完整方案。

Spark-SQL 有用的 SQL

这篇文章是一份偏备忘录性质的 Spark-SQL 实用 SQL 记录,主要解决本地创建 Iceberg 表以及连接 Hive Metastore 时缺少现成示例的问题。正文给出了 Spark-SQL 启动 Iceberg 所需的 package 依赖写法、本地创建 Iceberg V2 表的方法,以及连接 HMS 时的相关配置,同时补充了在网络较差场景下将依赖 Jar 直接放入 Spark 目录以绕过在线下载的做法。

HDFS Hedged Read 的利弊分析

这篇文章重新审视了 HDFS Hedged Read 的实际收益与代价,重点说明它虽然能缓解慢节点问题,但会显著放大内存开销。正文先回顾 Hedged Read 在超时后向其它副本发起并行读取的工作方式,再结合线上因频繁 OOM 触发查询失败的案例,分析 HDFS 客户端在开启该功能后会额外申请一个甚至两个 ByteBuffer,导致读取同一批数据时内存占用从原本的 1 倍上升到 2 到 3 倍,最后解释了为什么 HDFS 默认关闭这一功能。

StarRocks 常见疑难杂症

这篇文章汇总了作者在使用 StarRocks 过程中遇到的一些常见疑难杂症及处理办法。当前内容主要围绕对象存储访问问题展开,包括官方 Release 包在 Ubuntu 上运行时因 SSL 证书路径不一致导致 AWS SDK 报错,以及使用 KS3、OBS 等兼容 S3 的存储时因路径中包含等号触发 403 的兼容性问题,并给出了通过补充证书文件和调整配置项规避这些故障的方法。

2023年10月1日数据湖测试

这篇文章记录了一次针对数据湖查询能力的初步摸底测试,比较了 Trino 427、StarRocks 3.1.3 和 Apache Doris 2.0.1.1 在 TPCH 100G 场景下访问 ORC、Parquet 与 Iceberg+Parquet 数据集的表现。正文先说明测试环境、数据格式、软件版本和结果仅供参考的前提,再逐条列出三种格式上 22 条查询的耗时与失败情况,最后总结了 StarRocks 在完整性上能跑通全部 SQL、Doris 在 Iceberg 上仍不成熟,以及当前测试机器规格过高导致部分结果差异不够稳定等观察。

记录一次 StarRocks CSV Reader 性能优化过程

这篇文章复盘了一次 StarRocks CSV Reader 的性能优化过程,从用户反馈性能落后于 Trino、Doris 和 ClickHouse 开始,一步步定位热点并做针对性改造。正文先通过基准测试和火焰图发现列名映射、分区列追加和频繁对象分配带来的开销,再分别介绍预先建立列映射、批量追加分区列、复用 fields 容器和减少 Slice 拷贝等优化思路,以及对应 PR 的效果,最后结合 HDFS、OSS 和缓存场景下的对比测试总结出当前瓶颈已经更多转向外部存储访问。

Trino / StarRocks 阿里云 EMR Kerberos 认证指南

这篇文章记录了如何在非 EMR 节点上让 Trino 和 StarRocks 正常连接阿里云 EMR 的 Kerberos 环境。正文先从创建带 Kerberos 的 EMR 和测试 ECS 开始,说明如何准备 principal、keytab 和 krb5 配置,再分别给出 Trino Hive catalog 与 StarRocks FE/BE 所需的 core-site.xml、hdfs-site.xml、hive-site.xml 和 JVM 参数设置,最后汇总了 Kerberos 超时、Hive Metastore 连接失败和 HDFS BlockMissingException 等典型报错的定位与修复方法。

StarRocks 中关于 Hadoop Hedged Read 性能测试

这篇文章围绕 StarRocks 接入 HDFS 后启用 Hadoop Hedged Read 的效果做了一轮系统性能测试,重点观察不同线程池大小和超时阈值对查询耗时的影响。正文先介绍 Hedged Read 的工作机制和实验环境,再分别在单线程、慢节点和高并发 CPU 打满等场景下比较多组配置结果,最后结合 DFSClient 的线程池实现分析其共享方式和扩缩容行为,并给出较大的超时阈值配合较宽线程池的推荐配置。

618 之我的刀把金鱼缸主机

这篇文章记录了作者在 618 期间组装新台式机的选型思路、硬件清单和实际使用体验。正文先介绍围绕乔思伯 TK-1 金鱼缸机箱、i5-13600KF、RTX 4070、DDR5 平台和白色 ARGB 风格所做的配置取舍,再列出各个部件的购买渠道与价格,最后补充 CFHD、赛博朋克 2077、CSGO 等游戏中的温度和帧率表现,以及海景房机箱走线和灯效在日常使用中的真实感受。

StarRocks 全新云厂商鉴权系统食用指南

这篇文章介绍了 StarRocks 3.0 之后统一云厂商鉴权参数体系的使用方法和设计思路,目标是用一套一致的配置支持不同模块访问多种云存储与元数据服务。正文先列出 AWS、GCP、Azure 以及兼容 S3 的国内云厂商所支持的鉴权模式,再以 AWS S3 和 Glue 为例说明新参数在 catalog、导入导出和备份等场景中的配置方式,最后补充 FE 与 BE 在实现上对 Hadoop Jar、S3 SDK 和 JindoSDK 的依赖差异,以及现阶段鉴权参数校验和报错定位上的不足。