<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[王义凯 的博客]]></title><description><![CDATA[大数据,数据中台,数据治理,机器学习,hadoop,flink,spark]]></description><link>https://blog.youkuaiyun.com/wsdc0521</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wsdc0521]]></copyright><item><title><![CDATA[SQL中通过QUALIFY语法过滤窗口函数简化代码]]></title><link>https://blog.youkuaiyun.com/wsdc0521/article/details/133687841</link><guid>https://blog.youkuaiyun.com/wsdc0521/article/details/133687841</guid><author>wsdc0521</author><pubDate>Sun, 08 Oct 2023 18:47:52 +0800</pubDate><description><![CDATA[MaxCompute和hive都支持使用QUALIFY语法对窗口函数的数据进行过滤，该语法类似于HAVING对聚合和GROUP BY之后的结果的处理。这个语法在很多场景中都可以用到，可以用于简化代码，少写一个子查询，如统计排名，分组内部排序等。很明显可以看出，相比于直接使用row_number排序后通过子查询过滤数据来说，通过。QUALIFY语法后至少要跟一个窗口函数，并且允许使用窗口列的别名来过滤数据。该代码效果等同于：(区别仅是上面代码多一个rn列，下面代码没有rn列)]]></description><category></category></item><item><title><![CDATA[Flink实时任务性能调优]]></title><link>https://blog.youkuaiyun.com/wsdc0521/article/details/131623112</link><guid>https://blog.youkuaiyun.com/wsdc0521/article/details/131623112</guid><author>wsdc0521</author><pubDate>Sun, 09 Jul 2023 16:27:30 +0800</pubDate><description><![CDATA[通常我们在开发完Flink任务提交运行后，需要对任务的参数进行一些调整，通常需要调整的情况是任务消费速度跟不上数据写入速度，从而导致实时任务出现反压、内存GC频繁（FullGC）频繁、内存溢出导致TaskManager被Kill。今天讲一下Flink任务中常见的性能场景及解决思路。]]></description><category></category></item><item><title><![CDATA[惊呆！博主居然教粉丝爬虫爬取自己的文章]]></title><link>https://blog.youkuaiyun.com/wsdc0521/article/details/107987966</link><guid>https://blog.youkuaiyun.com/wsdc0521/article/details/107987966</guid><author>wsdc0521</author><pubDate>Sun, 09 Apr 2023 23:27:45 +0800</pubDate><description><![CDATA[python 博客, csdn, 爬虫 , markdown


import requests
from lxml import etree
import html2text as ht



import time
import urllib.request
headers = ('User-Agent','Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 S.]]></description><category></category></item><item><title><![CDATA[Hive/MaxCompute SQL性能优化(三)：数据倾斜优化实战]]></title><link>https://blog.youkuaiyun.com/wsdc0521/article/details/128637636</link><guid>https://blog.youkuaiyun.com/wsdc0521/article/details/128637636</guid><author>wsdc0521</author><pubDate>Tue, 10 Jan 2023 23:57:30 +0800</pubDate><description><![CDATA[前面介绍了如何定位数据倾斜，本文介绍如果遇到各种数据倾斜的情况该怎样优化代码。]]></description><category></category></item><item><title><![CDATA[Hive/MaxCompute SQL性能优化(二)：如何定位数据倾斜]]></title><link>https://blog.youkuaiyun.com/wsdc0521/article/details/127271728</link><guid>https://blog.youkuaiyun.com/wsdc0521/article/details/127271728</guid><author>wsdc0521</author><pubDate>Tue, 11 Oct 2022 21:36:17 +0800</pubDate><description><![CDATA[前面的文章我们简单介绍了什么是数据倾斜，今天我们来讲一下如何定位是否出现了数据倾斜，以及是在什么阶段出现的数据倾斜。]]></description><category></category></item><item><title><![CDATA[Hive/MaxCompute SQL性能优化(一)：什么是数据倾斜]]></title><link>https://blog.youkuaiyun.com/wsdc0521/article/details/125775546</link><guid>https://blog.youkuaiyun.com/wsdc0521/article/details/125775546</guid><author>wsdc0521</author><pubDate>Thu, 14 Jul 2022 01:03:29 +0800</pubDate><description><![CDATA[数据倾斜是指在并行计算模式下（map-reduce框架，数据被切分为N个片段，分发到不同的计算节点上，单独计算），部分节点处理的数据量远大于其他节点，造成该节点计算压力过大，从而导致少数节点的运行时长远远超过其他节点的平均运行时长，进而影响整体任务产出时效，造成任务延迟，这个现象就是数据倾斜。...]]></description><category></category></item><item><title><![CDATA[odps进阶之参数化视图]]></title><link>https://blog.youkuaiyun.com/wsdc0521/article/details/124222728</link><guid>https://blog.youkuaiyun.com/wsdc0521/article/details/124222728</guid><author>wsdc0521</author><pubDate>Sat, 16 Apr 2022 23:38:39 +0800</pubDate><description><![CDATA[ODPS(MaxCompute) 里面也有一个阉割版的存储过程---参数化视图。我们知道视图是将固定的计算逻辑存储下来，通过调用视图简化代码。而参数化视图就是可以在视图代码里调用入参变量，从而达到更灵活的使用视图，一个通用逻辑供多种场景使用。]]></description><category></category></item><item><title><![CDATA[odps列转行之trans_array/trans_cols]]></title><link>https://blog.youkuaiyun.com/wsdc0521/article/details/122658507</link><guid>https://blog.youkuaiyun.com/wsdc0521/article/details/122658507</guid><author>wsdc0521</author><pubDate>Sun, 23 Jan 2022 22:44:54 +0800</pubDate><description><![CDATA[trans_array

用于将一行数据转为多行的UDTF，将列中存储的以固定分隔符格式分隔的数组转为多行。

命令格式


trans_array (num_keys, separator, key1,key2,…,col1, col2,col3) as (key1,key2,…,col1, col2)

参数说明

● num_keys: bigint类型常量，必须&gt;=0。在转为多行时作为转置key的列的个数。

Key是指在将一行转为多行时，在多行中重复的列。

● separator:s...]]></description><category></category></item><item><title><![CDATA[odps优化之arg_max/arg_min]]></title><link>https://blog.youkuaiyun.com/wsdc0521/article/details/120942933</link><guid>https://blog.youkuaiyun.com/wsdc0521/article/details/120942933</guid><author>wsdc0521</author><pubDate>Sun, 24 Oct 2021 22:46:01 +0800</pubDate><description><![CDATA[arg_max(col1, col2)
效果：查询col1列的最大值，并返回该记录中col2的值。
arg_min(col1, col2)
效果：查询col1列的最小值，并返回该记录中col2的值。
优势：
1：一般我们要查询某个列排名第一的其他字段的值的时候，一般会用row_number进行排序，然后取rn等于1的记录，当类似操作很多且数据量大的时候，是很影响性能的。而使用arg_max(col1,col2)就可以轻松的得到这个结果。
2：或者当我们想取某个字符串列中最长的记录的内容时，一般我们都是先取最]]></description><category></category></item><item><title><![CDATA[善用Grouping Sets 提升代码效率]]></title><link>https://blog.youkuaiyun.com/wsdc0521/article/details/120290569</link><guid>https://blog.youkuaiyun.com/wsdc0521/article/details/120290569</guid><author>wsdc0521</author><pubDate>Tue, 14 Sep 2021 16:45:56 +0800</pubDate><description><![CDATA[使用Grouping Sets可按照多个不同的维度组合进行聚合，减少了繁琐的代码，提升整体计算的效率。

比如，需要对国家，省份，城市各维度进行聚合时候，可能会这么写：


select '国家' as gep_type,country as geo_name,count(*) as cnt from tbl group by country
union all 
select '省份' as gep_type,province as geo_name,count(*) as cnt from tbl gr]]></description><category></category></item><item><title><![CDATA[别再使用count distinct了]]></title><link>https://blog.youkuaiyun.com/wsdc0521/article/details/117885554</link><guid>https://blog.youkuaiyun.com/wsdc0521/article/details/117885554</guid><author>wsdc0521</author><pubDate>Sun, 13 Jun 2021 21:27:49 +0800</pubDate><description><![CDATA[在数仓开发中经常会对数据去重后统计，而对于大数据量来说，count(distinct )操作明显非常的消耗资源且性能很慢。

下面介绍我平时使用最多的一种you'hua
]]></description><category></category></item><item><title><![CDATA[数据湖简介]]></title><link>https://blog.youkuaiyun.com/wsdc0521/article/details/114808036</link><guid>https://blog.youkuaiyun.com/wsdc0521/article/details/114808036</guid><author>wsdc0521</author><pubDate>Sun, 14 Mar 2021 22:49:48 +0800</pubDate><description><![CDATA[数据湖是将公司所有数据，外部数据，不知道要不要用的数据放在一起，通过一定的数据治理，让数据可以被发现，被理解，以用于交叉查询或机器学习的研究。
数据湖不麻烦，管理数据湖中的数据最麻烦，一不小心就会变成数据沼泽。没人知道里面有什么数据，从哪来的，是干嘛的。
目前市面上流行的三大开源数据湖方案分别为：DeltaLake, Hudi, Iceberg 。]]></description><category></category></item><item><title><![CDATA[Hive行转列、列转行]]></title><link>https://blog.youkuaiyun.com/wsdc0521/article/details/111254542</link><guid>https://blog.youkuaiyun.com/wsdc0521/article/details/111254542</guid><author>wsdc0521</author><pubDate>Tue, 29 Dec 2020 13:18:56 +0800</pubDate><description><![CDATA[hive 行转列，列转行]]></description><category></category></item><item><title><![CDATA[数仓必会：Sqoop常用命令(全量/增量/全库同步)]]></title><link>https://blog.youkuaiyun.com/wsdc0521/article/details/110391572</link><guid>https://blog.youkuaiyun.com/wsdc0521/article/details/110391572</guid><author>wsdc0521</author><pubDate>Mon, 30 Nov 2020 20:06:59 +0800</pubDate><description><![CDATA[增量，全量，全库将数据在关系型数据库MySQL,Oracle,Postgre以及Hive，HDFS之间进行数据同步操作，允许自动映射数据类型，还有很多其他参数如分隔符，文件格式，编码等参数请参考官方手册按需进行配置。]]></description><category></category></item><item><title><![CDATA[scala中下划线的几种含义]]></title><link>https://blog.youkuaiyun.com/wsdc0521/article/details/109242080</link><guid>https://blog.youkuaiyun.com/wsdc0521/article/details/109242080</guid><author>wsdc0521</author><pubDate>Sat, 24 Oct 2020 21:11:00 +0800</pubDate><description><![CDATA[1. 将方法转变为函数
2. 表示集合里的每个元素
3. 获取元组Tuple中的元素
4. 模式匹配
5. 队列匹配
6. 通配符
7. 变长参数
8. 初始化变量]]></description><category></category></item><item><title><![CDATA[CDC系列（三）、Debezium 监控MySQL操作日志实时同步到Kafka（对比canal，maxwell）]]></title><link>https://blog.youkuaiyun.com/wsdc0521/article/details/108799267</link><guid>https://blog.youkuaiyun.com/wsdc0521/article/details/108799267</guid><author>wsdc0521</author><pubDate>Fri, 25 Sep 2020 18:04:30 +0800</pubDate><description><![CDATA[目录

前言

准备工作

配置Connector

注册启动Connector

验证CDC

尾巴

CDC系列：

CDC系列（一）、Canal 集群部署及使用（带WebUI）

CDC系列（二）、Maxwell_v1.27.1 监控MySQL操作日志实时同步到Kafka

前言

前两篇我们介绍了CDC工具，以及利用Canal和Maxwell监控mysql操作日志并写入kafka，本篇我们来讲解另一个CDC工具：debezium。debezium不仅仅支持mysql的监控，目前最新版已支持mysql]]></description><category></category></item><item><title><![CDATA[Kafka系列（七）、Kafka套件 Confluent Platform 单机/集群部署]]></title><link>https://blog.youkuaiyun.com/wsdc0521/article/details/108764050</link><guid>https://blog.youkuaiyun.com/wsdc0521/article/details/108764050</guid><author>wsdc0521</author><pubDate>Thu, 24 Sep 2020 02:43:01 +0800</pubDate><description><![CDATA[Confluent 由kafka的核心成员成立，目前最新版Confluent为v5.5.1版本，对应的kafka版本为Apache Kafka_v2.5.0，在Confluent中不仅包含了kafka，还有下面几个组件，增强了kafka的功能也大大提升了kafka的易用性。

KSQL：通过SQL查询topic内的数据；
Confluent Connetors：支持配置HDFS，Cassandra，MySQL，Oracle，Postgre，MongoDB，Kudu等数据源的source和sink；
Conf]]></description><category></category></item><item><title><![CDATA[Kafka系列（六）、Kafka开发套件kafka lenses 安装及使用（带WebUI）]]></title><link>https://blog.youkuaiyun.com/wsdc0521/article/details/108751741</link><guid>https://blog.youkuaiyun.com/wsdc0521/article/details/108751741</guid><author>wsdc0521</author><pubDate>Wed, 23 Sep 2020 15:12:42 +0800</pubDate><description><![CDATA[Lenses 是kafka的一个商用套件，本次我们使用docker安装他们给我们提供的开源版本，该开源版本包含超多组件，对于平时开发使用来说很友好，不需要去安装一堆开发组件，它自带了Apache Kafka, Kafka Connect, Zookeeper, Confluent Schema Registry,Confluent REST Proxy 以及几个lenses开源的管理ui界面kafka-topics-ui, schema-registry-ui, kafka-connect-ui，]]></description><category></category></item><item><title><![CDATA[CDC系列（二）、Maxwell_v1.27.1 监控MySQL操作日志实时同步到Kafka]]></title><link>https://blog.youkuaiyun.com/wsdc0521/article/details/108736260</link><guid>https://blog.youkuaiyun.com/wsdc0521/article/details/108736260</guid><author>wsdc0521</author><pubDate>Tue, 22 Sep 2020 23:20:02 +0800</pubDate><description><![CDATA[在上一篇我们介绍了CDC工具，以及Canal的集群安装和使用，本篇我们来讲解另一个CDC工具：Maxwell。和Canal一样，Maxwell也是将自己伪装成MySQL的slave节点，通过监控MySQL的binlog来将数据操作日志同步到kafka等消息队列中供异构数据源使用。
本篇我们会介绍Maxwell的安装和使用。
和Canal一样，一定要至少准备一个MySQL库用于Maxwell的管理库存放状态信息以及用来监控的MySQL库，监控到的binlog导出到kafka，因此也需要准备kafka]]></description><category></category></item><item><title><![CDATA[CDC系列（一）、Canal 集群部署及使用（带WebUI）]]></title><link>https://blog.youkuaiyun.com/wsdc0521/article/details/108727632</link><guid>https://blog.youkuaiyun.com/wsdc0521/article/details/108727632</guid><author>wsdc0521</author><pubDate>Tue, 22 Sep 2020 15:03:54 +0800</pubDate><description><![CDATA[CDC（Change Data Capture）是一种捕获数据修改的技术方案，常常应用于异构数据源之间的数据同步。通常有两种解决方案：批式定时根据查询条件采集变更数据、监控数据源的操作日志。对于第一种批式的方案好处是门槛低成本低但坏处是可能会造成数据丢失以及数据有延迟等等，第二种日志方案好处很明显，比如对数据源侵入性低，数据时效性更高，不会有数据丢失的风险等等。在目前的关系型数据库中如MySQL、Oracle、SQLServer、Postgre等都提供了用于同步的日志解决方案，如MySQL基于binlog在]]></description><category></category></item></channel></rss>