{"@attributes":{"version":"2.0"},"channel":{"title":"Sql on Kent Yao","link":"https:\/\/yaooqinn.github.io\/zh\/tags\/sql\/","description":"Recent content in Sql on Kent Yao","generator":"Hugo -- 0.157.0","language":"zh-cn","lastBuildDate":"Thu, 02 Apr 2026 00:00:00 +0000","item":[{"title":"\u6df1\u5165 Spark SQL Metrics\uff08\u7b2c\u516d\u90e8\u5206\uff09\uff1a\u5b9e\u6218\u2014\u2014TPC-DS q99 \u7684 Gluten \u6307\u6807\u5168\u89e3\u8bfb","link":"https:\/\/yaooqinn.github.io\/zh\/posts\/spark\/sql-metrics-part6-in-action\/","pubDate":"Thu, 02 Apr 2026 00:00:00 +0000","guid":"https:\/\/yaooqinn.github.io\/zh\/posts\/spark\/sql-metrics-part6-in-action\/","description":"SQL Metrics \u7cfb\u5217\u7b2c\u516d\u90e8\u5206\u3002\u4ee5 TPC-DS q99\uff08SF10000\uff0cGluten\/Velox\uff09\u4e3a\u4f8b\uff0c\u9010\u7b97\u5b50\u89e3\u8bfb\u6bcf\u4e2a\u6307\u6807\uff0c\u5c55\u793a\u5982\u4f55\u4ece\u6307\u6807\u4e2d\u8bfb\u61c2\u67e5\u8be2\u6267\u884c\u7684\u5168\u8c8c\u3002"},{"title":"\u6df1\u5165 Spark SQL Metrics\uff08\u7b2c\u4e94\u90e8\u5206\uff09\uff1aGluten \u6307\u6807\u6536\u96c6\u7684\u5185\u90e8\u673a\u5236","link":"https:\/\/yaooqinn.github.io\/zh\/posts\/spark\/sql-metrics-part5-gluten-internals\/","pubDate":"Thu, 02 Apr 2026 00:00:00 +0000","guid":"https:\/\/yaooqinn.github.io\/zh\/posts\/spark\/sql-metrics-part5-gluten-internals\/","description":"SQL Metrics \u7cfb\u5217\u7b2c\u4e94\u90e8\u5206\u3002Gluten \u5982\u4f55\u5c06 Substrait \u8ba1\u5212\u8282\u70b9\u6620\u5c04\u5230 Velox \u7b97\u5b50\u3001\u8de8\u7ba1\u9053\u805a\u5408\u6307\u6807\u3001\u904d\u5386 MetricsUpdaterTree\uff0c\u4ee5\u53ca\u805a\u5408\u5b50\u9636\u6bb5\u548c Shuffle \u6307\u6807\u7684\u5185\u90e8\u673a\u5236\u3002"},{"title":"\u6df1\u5165 Spark SQL Metrics\uff08\u7b2c\u4e8c\u90e8\u5206\uff09\uff1a\u5185\u90e8\u673a\u5236\u4e0e AQE \u7684\u8fd0\u884c\u65f6\u51b3\u7b56","link":"https:\/\/yaooqinn.github.io\/zh\/posts\/spark\/sql-metrics-part2-internals\/","pubDate":"Wed, 01 Apr 2026 00:00:00 +0000","guid":"https:\/\/yaooqinn.github.io\/zh\/posts\/spark\/sql-metrics-part2-internals\/","description":"SQL Metrics \u4e09\u90e8\u66f2\u7684\u7b2c\u4e8c\u90e8\u5206\u3002\u6307\u6807\u5982\u4f55\u4ece\u4efb\u52a1\u6d41\u5411Driver\uff0c\u4ee5\u53ca\u81ea\u9002\u5e94\u67e5\u8be2\u6267\u884c\uff08AQE\uff09\u5982\u4f55\u5229\u7528 Shuffle \u7edf\u8ba1\u4fe1\u606f\u5728\u8fd0\u884c\u65f6\u91cd\u5199\u67e5\u8be2\u8ba1\u5212\u3002"},{"title":"\u6df1\u5165 Spark SQL Metrics\uff08\u7b2c\u4e09\u90e8\u5206\uff09\uff1a\u6269\u5c55 API\u3001UI \u6e32\u67d3\u4e0e REST API","link":"https:\/\/yaooqinn.github.io\/zh\/posts\/spark\/sql-metrics-part3-extension-api\/","pubDate":"Wed, 01 Apr 2026 00:00:00 +0000","guid":"https:\/\/yaooqinn.github.io\/zh\/posts\/spark\/sql-metrics-part3-extension-api\/","description":"SQL Metrics \u4e09\u90e8\u66f2\u7684\u7b2c\u4e09\u90e8\u5206\u3002\u5982\u4f55\u901a\u8fc7 DataSource V2 API \u6269\u5c55\u81ea\u5b9a\u4e49\u6307\u6807\u3001UI \u5982\u4f55\u6e32\u67d3\u6307\u6807\u3001\u4ee5\u53ca\u5982\u4f55\u901a\u8fc7 REST API \u7f16\u7a0b\u67e5\u8be2\u6307\u6807\u3002"},{"title":"\u6df1\u5165 Spark SQL Metrics\uff08\u7b2c\u56db\u90e8\u5206\uff09\uff1aGluten \u5982\u4f55\u6269\u5c55\u6307\u6807\u7cfb\u7edf","link":"https:\/\/yaooqinn.github.io\/zh\/posts\/spark\/sql-metrics-part4-gluten\/","pubDate":"Wed, 01 Apr 2026 00:00:00 +0000","guid":"https:\/\/yaooqinn.github.io\/zh\/posts\/spark\/sql-metrics-part4-gluten\/","description":"SQL Metrics \u7cfb\u5217\u7684\u7b2c\u56db\u90e8\u5206\u3002Apache Gluten \u5982\u4f55\u5c06 Velox\/ClickHouse \u539f\u751f\u6307\u6807\u6865\u63a5\u56de Spark SQL Metrics \u6846\u67b6\uff0c\u6dfb\u52a0\u4e86 60+ \u4e2a\u539f\u751f Spark \u6ca1\u6709\u7684\u6307\u6807\u3002"},{"title":"\u6df1\u5165 Spark SQL Metrics\uff08\u7b2c\u4e00\u90e8\u5206\uff09\uff1a\u7c7b\u578b\u3001\u5b8c\u6574\u53c2\u8003\u548c\u542b\u4e49","link":"https:\/\/yaooqinn.github.io\/zh\/posts\/spark\/understanding-sql-metrics\/","pubDate":"Wed, 01 Apr 2026 00:00:00 +0000","guid":"https:\/\/yaooqinn.github.io\/zh\/posts\/spark\/understanding-sql-metrics\/","description":"Spark SQL Metrics \u4e09\u90e8\u66f2\u7684\u7b2c\u4e00\u90e8\u5206\u3002\u6db5\u76d6 5 \u79cd\u6307\u6807\u7c7b\u578b\u3001100+ \u6307\u6807\u7684\u5b8c\u6574\u53c2\u8003\uff0c\u4ee5\u53ca\u5982\u4f55\u6b63\u786e\u89e3\u8bfb Spark UI \u4e2d\u7684\u6307\u6807\u6570\u5b57\u3002"},{"title":"SQL \u6267\u884c\u8be6\u60c5\u9875\u7ec8\u4e8e\u80fd\u76f4\u89c2\u5c55\u793a\u4f5c\u4e1a\u8fd0\u884c\u72b6\u6001\u4e86","link":"https:\/\/yaooqinn.github.io\/zh\/posts\/spark\/sql-execution-page-modernization\/","pubDate":"Sat, 14 Mar 2026 00:00:00 +0000","guid":"https:\/\/yaooqinn.github.io\/zh\/posts\/spark\/sql-execution-page-modernization\/","description":"Spark Web UI \u7684 SQL \u6267\u884c\u8be6\u60c5\u9875\u8fc7\u53bb\u53ea\u7528\u9017\u53f7\u5206\u9694\u7684 ID \u5c55\u793a\u5173\u8054\u4f5c\u4e1a\u3002\u73b0\u5728\u5b83\u6709\u4e86\u5b8c\u6574\u7684 Associated Jobs \u8868\u683c\uff0c\u5305\u542b\u72b6\u6001\u3001\u8017\u65f6\u3001Stage \u8fdb\u5ea6\u548c Task \u8fdb\u5ea6\u6761\u2014\u2014\u8ba9\u4f60\u65e0\u9700\u9010\u4e2a\u70b9\u51fb\u5373\u53ef\u8c03\u8bd5 SQL \u67e5\u8be2\u3002"},{"title":"\u91cd\u65b0\u8bbe\u8ba1 Apache Spark \u7684 SQL \u6267\u884c\u8ba1\u5212\u53ef\u89c6\u5316","link":"https:\/\/yaooqinn.github.io\/zh\/posts\/spark\/sql-plan-visualization\/","pubDate":"Thu, 05 Mar 2026 00:00:00 +0000","guid":"https:\/\/yaooqinn.github.io\/zh\/posts\/spark\/sql-plan-visualization\/","description":"Spark SQL \u6267\u884c\u8ba1\u5212\u53ef\u89c6\u5316\u8fce\u6765\u91cd\u5927\u5347\u7ea7\u2014\u2014\u7d27\u51d1\u8282\u70b9\u6807\u7b7e\u3001\u53ef\u70b9\u51fb\u7684\u6307\u6807\u9762\u677f\uff0c\u4ee5\u53ca\u8ba9 Join \u81a8\u80c0\u4e00\u76ee\u4e86\u7136\u7684\u8fb9\u6807\u7b7e\u3002"}]}}