<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq_41676216的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_41676216</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_41676216]]></copyright><item><title><![CDATA[如何解决maven中snapshot相关jar无法拉取问题]]></title><link>https://blog.youkuaiyun.com/qq_41676216/article/details/140451527</link><guid>https://blog.youkuaiyun.com/qq_41676216/article/details/140451527</guid><author>qq_41676216</author><pubDate>Mon, 15 Jul 2024 23:04:57 +0800</pubDate><description><![CDATA[Maven中的SNAPSHOT版本是指正在开发中的版本，这些版本可能会频繁地更新。在使用Maven构建项目时，有时会遇到无法拉取SNAPSHOT相关jar的问题。以下是几种常见的解决方案：

检查Maven配置文件（settings.xml）
确保你的Maven配置文件（通常位于~/.m2/settings.xml）中正确配置了SNAPSHOT仓库。如果没有配置，Maven将无法找到SNAPSHOT版本。

xml
&lt;profiles&gt;
    &lt;profile&gt;
        &]]></description><category></category></item><item><title><![CDATA[IDEA-spring报错：Failure to find org.springframework.boot:spring-boot-starter-parent:pom:3.1.2. RELEASE]]></title><link>https://blog.youkuaiyun.com/qq_41676216/article/details/139043429</link><guid>https://blog.youkuaiyun.com/qq_41676216/article/details/139043429</guid><author>qq_41676216</author><pubDate>Sun, 19 May 2024 15:25:27 +0800</pubDate><description><![CDATA[然后对比pom文件发现IDEA会在版本号后面默认加上RELEASE，只需要把这个删掉re一下就可以了。试过网上各种方法：降低版本、更换镜像源还是不行。]]></description><category></category></item><item><title><![CDATA[IDEA关联Scala源代码并查看Scala方法源码]]></title><link>https://blog.youkuaiyun.com/qq_41676216/article/details/121676571</link><guid>https://blog.youkuaiyun.com/qq_41676216/article/details/121676571</guid><author>qq_41676216</author><pubDate>Thu, 02 Dec 2021 14:32:54 +0800</pubDate><description><![CDATA[1、关联Scala源码
在IDEA中查看Scala源码首先需要关联一下
1、先下载Scala源代码
下载链接https://www.scala-lang.org/download/all.html
选择所需要的版本，(版本的选择是根据你的Scala插件版本决定的),点进去找到源代码下载项。

我的idea中scala是2.11.8

下载后并解压

2、在intellij idea设置指向源代码
在intellij中打开File –&gt; Project Structure，快捷键（Ctrl + Alt ]]></description><category></category></item><item><title><![CDATA[Hive性能调优之合理调整Map与Reduce数量]]></title><link>https://blog.youkuaiyun.com/qq_41676216/article/details/117771348</link><guid>https://blog.youkuaiyun.com/qq_41676216/article/details/117771348</guid><author>qq_41676216</author><pubDate>Thu, 10 Jun 2021 10:53:58 +0800</pubDate><description><![CDATA[合理设置map数量
map阶段主要涉及两个问题：小文件太多或者大文件过于负责。
对应的解决方案就是减少map数量与增加map数量。

减少map数就是增加每个map处理的文件数量，用于处理大量小文件，间接加快速度。

-- CombineHiveInputFormat有对小文件合并的处理，hive2.X已经默认使用CombineHiveInputFormat
set hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat;
]]></description><category></category></item><item><title><![CDATA[记录Spark 笛卡尔积问题]]></title><link>https://blog.youkuaiyun.com/qq_41676216/article/details/114700687</link><guid>https://blog.youkuaiyun.com/qq_41676216/article/details/114700687</guid><author>qq_41676216</author><pubDate>Fri, 12 Mar 2021 17:02:14 +0800</pubDate><description><![CDATA[因为要上线一个需求，有改到spark sql。 在改之前我一般习惯把生产原逻辑跑一边理解下（需求赶，都是边读业务边写）

但奇怪的是，在生产上已经跑了24个账期的代码，拉到自己环境跑却报了 两者的版本都是2.X

Detected cartesian product for INNER join between logical plans的错误。

这个错误很明显，笛卡尔积。

国内所有的解决方案都是抄袭的

设置 配置spark.conf.set("spark.sql.crossJoin.enable..]]></description><category></category></item><item><title><![CDATA[idea格式化代码 --符号对齐]]></title><link>https://blog.youkuaiyun.com/qq_41676216/article/details/111941783</link><guid>https://blog.youkuaiyun.com/qq_41676216/article/details/111941783</guid><author>qq_41676216</author><pubDate>Wed, 30 Dec 2020 09:27:32 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[Spark如何处理数据倾斜]]></title><link>https://blog.youkuaiyun.com/qq_41676216/article/details/108982703</link><guid>https://blog.youkuaiyun.com/qq_41676216/article/details/108982703</guid><author>qq_41676216</author><pubDate>Fri, 09 Oct 2020 17:22:50 +0800</pubDate><description><![CDATA[什么是数据倾斜

数据倾斜是指我们在并行进行数据处理的时候，由于数据Spark的单个Partition)的分布不均，导致大量的数据集中分不到一台或者某几台计算节点上，导致处理速度远低于平均计算速度，从而拖延导致整个计算过程过慢，影响整个计算性能

数据倾斜的危害

单个或者某几个task拖延整个任务运行时间,导致整体耗时过大
	单个task处理数据过多，很容易导致oom
	Executor Kill lost,Shuffle error
数据倾斜的产生

数据倾斜容易产生在两个过程，本身数据源读的倾斜，..]]></description><category></category></item><item><title><![CDATA[各大公司的大数据质量监控平台]]></title><link>https://blog.youkuaiyun.com/qq_41676216/article/details/107787517</link><guid>https://blog.youkuaiyun.com/qq_41676216/article/details/107787517</guid><author>qq_41676216</author><pubDate>Tue, 04 Aug 2020 15:21:31 +0800</pubDate><description><![CDATA[在这个信息化时代，你用手机打开微信聊天、打开京东app浏览商品、访问百度搜索、甚至某些app给你推送的信息流等等，数据无时无刻不在产生。

数据，已经成为互联网企业非常依赖的新型重要资产。数据质量的好坏直接关系到信息的精准度，也影响到企业的生存和竞争力。Michael Hammer（《Reengineering the Corporation》一书的作者）曾说过，看起来不起眼的数据质量问题，实际上是拆散业务流程的重要标志。 数据质量管理是测度、提高和验证质量，以及整合组织数据的方法等一套处理准则，而体量大、]]></description><category></category></item><item><title><![CDATA[【数仓】数据仓库的建设（二）]]></title><link>https://blog.youkuaiyun.com/qq_41676216/article/details/107725912</link><guid>https://blog.youkuaiyun.com/qq_41676216/article/details/107725912</guid><author>qq_41676216</author><pubDate>Sat, 01 Aug 2020 09:18:44 +0800</pubDate><description><![CDATA[前言：

前文说了一些数据仓库的基础概念和模型，本文继续往下说吧！

【数仓】数据仓库的思考（一）：https://blog.youkuaiyun.com/lsr40/article/details/105576047



1、数仓的目标（能完成什么事情）

当工作中遇到以下的事情：

-1.数据分层混乱，不知道从何查起

-2.数据指标维度不统一，业务/数据分析部门要数据，只能找数据开发口口相传

-2.数据建设缺乏规范，表结构字段定义不统一，字段含义模糊，数据任务、数据表维护成本高。

-3.重复计算同一个数据.]]></description><category></category></item><item><title><![CDATA[【数仓】数据仓库的思考（一）]]></title><link>https://blog.youkuaiyun.com/qq_41676216/article/details/107725881</link><guid>https://blog.youkuaiyun.com/qq_41676216/article/details/107725881</guid><author>qq_41676216</author><pubDate>Sat, 01 Aug 2020 09:17:52 +0800</pubDate><description><![CDATA[前言：

对于数仓的概念非常大非常广泛，而且也并没有绝对正确的架构，只是有一定的方法论，一定的前人总结留下来的理论，所以我也不知道我这个系列会更多久，会更多少，反正我就把我现在对于数仓的想法记录下来，以后如果有更深的理解，再说吧~



1、什么是数据仓库

这个百度也能找到答案，但是我想说的是我的观点。数仓应该是一种数据整合，数据治理，将数据做成一种服务，对外提供。

什么叫数据整合，大家应该听过数据孤岛/烟囱这个概念，大概意思就是说：一家公司，数据开发各做各的，数据相互之间不能打通，数据情况掌握在不同.]]></description><category></category></item><item><title><![CDATA[记一次Scrapy进程卡死的Debug过程]]></title><link>https://blog.youkuaiyun.com/qq_41676216/article/details/107593123</link><guid>https://blog.youkuaiyun.com/qq_41676216/article/details/107593123</guid><author>qq_41676216</author><pubDate>Sun, 26 Jul 2020 14:21:05 +0800</pubDate><description><![CDATA[发现问题

日常巡查数据入库情况时，发现最新数据的入库时间停在了凌晨。立刻登录远程服务器，尝试定位问题。


	定时任务是否正常工作，是否有报错信息

	
crontab -l


	经检查发现，定时任务工作正常，也没有运行报错的记录。
	
	
	查看系统进程，采集程序是否运行

	
ps -ef | grep xxxappspider


	输出信息如下

	

	可以看到进程在凌晨 01:40 成功启动了，但是一直没有执行完成，推测是代码出现了死锁等问题？查看日志也没有记录到有用的信息。
	
	
	检查]]></description><category></category></item><item><title><![CDATA[HBase读写的几种方式（二）spark篇]]></title><link>https://blog.youkuaiyun.com/qq_41676216/article/details/107378099</link><guid>https://blog.youkuaiyun.com/qq_41676216/article/details/107378099</guid><author>qq_41676216</author><pubDate>Thu, 16 Jul 2020 10:50:41 +0800</pubDate><description><![CDATA[1. HBase读写的方式概况

主要分为：

纯JavaAPI读写HBase的方式；
	Spark读写HBase的方式；
	Flink读写HBase的方式；
	HBase通过Phoenix读写的方式；
第一种方式是HBase自身提供的比较原始的高效操作方式，而第二、第三则分别是Spark、Flink集成HBase的方式，最后一种是第三方插件Phoenix集成的JDBC方式，Phoenix集成的JDBC操作方式也能在Spark、Flink中调用。

注意：

这里我们使用HBase2.1.2版本，spar.]]></description><category></category></item><item><title><![CDATA[Spark SQL中外连接查询中的谓词下推规则]]></title><link>https://blog.youkuaiyun.com/qq_41676216/article/details/107345632</link><guid>https://blog.youkuaiyun.com/qq_41676216/article/details/107345632</guid><author>qq_41676216</author><pubDate>Tue, 14 Jul 2020 19:31:21 +0800</pubDate><description><![CDATA[SparkSql

SparkSql是架构在spark计算框架之上的分布式Sql引擎，使用DataFrame和DataSet承载结构化和半结构化数据来实现数据复杂查询处理，提供的DSL可以直接使用scala语言完成sql查询，同时也使用thrift server提供服务化的Sql查询功能。SparkSql提供了Data Source API，用户通过这套API可以自己开发一套Connector，直接查询各类数据源，包括NoSql、RDBMS、搜索引擎以及HDFS等分布式FS上的文件等。和SparkSql类似]]></description><category></category></item><item><title><![CDATA[mysql之自定义函数]]></title><link>https://blog.youkuaiyun.com/qq_41676216/article/details/107345043</link><guid>https://blog.youkuaiyun.com/qq_41676216/article/details/107345043</guid><author>qq_41676216</author><pubDate>Tue, 14 Jul 2020 18:59:28 +0800</pubDate><description><![CDATA[本文内容：



什么是函数
	函数的创建
	函数的调用
	函数的查看
	函数的修改
	函数的删除


首发日期：2018-04-18

什么是函数：



函数存储着一系列sql语句，调用函数就是一次性执行这些语句。所以函数可以降低语句重复。【但注意的是函数注重返回值，不注重执行过程，所以一些语句无法执行。所以函数并不是单纯的sql语句集合。】
	mysql函数有自己的自定义函数（已经定义好了的函数），想了解更多的可以参考我的另一篇博文：mysql之常用函数
	这里主要介绍如何自定义函数。


补...]]></description><category></category></item><item><title><![CDATA[Kafka消费者手动提交消息偏移]]></title><link>https://blog.youkuaiyun.com/qq_41676216/article/details/107333958</link><guid>https://blog.youkuaiyun.com/qq_41676216/article/details/107333958</guid><author>qq_41676216</author><pubDate>Tue, 14 Jul 2020 11:09:48 +0800</pubDate><description><![CDATA[生产者每次调用poll()方法时，它总是返回由生产者写入Kafka但还没有消费的消息，如果消费者一致处于运行状态，那么分区消息偏移量就没什么用处，但是如果消费者发生崩溃或者有新的消费者加入群组，就会触发再均衡，完成再均衡之后，每个消费可能分配到新的分区，而不是之前处理的那个，为了能够继续之前的工作，消费者需要读取每个分区最后一次提交的偏移量，然后从偏移量制定的地方开始工作。消费者会往一个__consumer_offser的主题发送消息，消息里包含每个分区的偏移量。

1.同步提交


import o...]]></description><category></category></item><item><title><![CDATA[Scala调用Kafka的生产者和消费者Demo，以及一些配置参数整理]]></title><link>https://blog.youkuaiyun.com/qq_41676216/article/details/107333934</link><guid>https://blog.youkuaiyun.com/qq_41676216/article/details/107333934</guid><author>qq_41676216</author><pubDate>Tue, 14 Jul 2020 11:07:40 +0800</pubDate><description><![CDATA[Scala调用Kafka的生产者和消费者Demo，以及一些配置参数整理

kafka简介

Kafka是apache开源的一款用Scala编写的消息队列中间件，具有高吞吐量，低延时等特性。

Kafka对消息保存时根据Topic进行归类，发送消息者称为Producer,消息接受者称为Consumer,此外kafka集群有多个kafka实例组成，每个实例(server)称为broker。

无论是kafka集群，还是producer和consumer都依赖于zookeeper集群保存一些meta信息，来保证系]]></description><category></category></item><item><title><![CDATA[SparkStreaming 整合kafka Demo]]></title><link>https://blog.youkuaiyun.com/qq_41676216/article/details/107324758</link><guid>https://blog.youkuaiyun.com/qq_41676216/article/details/107324758</guid><author>qq_41676216</author><pubDate>Mon, 13 Jul 2020 20:46:05 +0800</pubDate><description><![CDATA[SparkStreaming 整合kafka Demo



这里使用的是低级API，因为高级API非常不好用，需要繁琐的配置，也不够自动化，却和低级API的效果一样，所以这里以低级API做演示

你得有zookeeper和kafka

我这里是3台节点主机

架构图



与高级API的区别,简单并行(不需要创造多个输入流，它会自动并行读取kafka的数据)，高效（不会像receiver数据被copy两次),一次性语义（缺点：无法使用zookeeper的监控工具）



1.创建maven工程

首先..]]></description><category></category></item><item><title><![CDATA[IDEA-Maven的环境配置及使用]]></title><link>https://blog.youkuaiyun.com/qq_41676216/article/details/107235529</link><guid>https://blog.youkuaiyun.com/qq_41676216/article/details/107235529</guid><author>qq_41676216</author><pubDate>Thu, 09 Jul 2020 18:57:49 +0800</pubDate><description><![CDATA[IDEA-Maven的环境配置及使用

一、Maven的下载

IDEA的往期下载地址：https://www.jetbrains.com/

1.点击进入











　　1.往期的下载地址：http://www.apache.org/

　　操作步骤：我们点击进入Projects----&gt;如图

（1） 、



（2）、





　（3）、



（4）、



（5）、解压后我们可以看到这个目录



（6）、解压文件后，我们要新增两个环境变量

　　　　1.M2_HOME-...]]></description><category></category></item><item><title><![CDATA[python–multiprocessing多进程总结]]></title><link>https://blog.youkuaiyun.com/qq_41676216/article/details/106761943</link><guid>https://blog.youkuaiyun.com/qq_41676216/article/details/106761943</guid><author>qq_41676216</author><pubDate>Mon, 15 Jun 2020 14:35:22 +0800</pubDate><description><![CDATA[python–multiprocessing多进程总结
由于GIL的存在，python中的多线程其实并不是真正的多线程，如果想要充分地使用多核CPU的资源，在python中大部分情况需要使用多进程。Python提供了非常好用的多进程包multiprocessing，只需要定义一个函数，Python会完成其他所有事情。借助这个包，可以轻松完成从单进程到并发执行的转换。multiprocessing支持子进程、通信和共享数据、执行不同形式的同步，提供了Process、Queue、Pipe、Lock等组件。
mu]]></description><category></category></item><item><title><![CDATA[Django学习笔记（四十三）:使用redis进行页面数据缓存和更新缓存数据]]></title><link>https://blog.youkuaiyun.com/qq_41676216/article/details/106005604</link><guid>https://blog.youkuaiyun.com/qq_41676216/article/details/106005604</guid><author>qq_41676216</author><pubDate>Fri, 08 May 2020 20:31:29 +0800</pubDate><description><![CDATA[Django学习笔记（四十三）:使用redis进行页面数据缓存和更新缓存数据
在开发过程中会遇到一些页面的数据是很长时间才进行更新的，不使用缓存的情况下，用户每次访问这些都需要先去数据库中获取这些数据，当访问量较大时，这样获取数据的方式就会降低页面的访问速度，影响效率，这时就可以使用redis将这些数据保存起来，通过判断是否生成过获取以及是否更新过数据来生成新的缓存数据
具体操作如下：
在settings.py里添加缓存设置
Django的缓存配置
CACHES = {
    "default": {
 ]]></description><category></category></item></channel></rss>