<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[chendake7的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/chendake7</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; chendake7]]></copyright><item><title><![CDATA[springboot集成swagger，以及报错解决]]></title><link>https://blog.youkuaiyun.com/chendake7/article/details/130789843</link><guid>https://blog.youkuaiyun.com/chendake7/article/details/130789843</guid><author>chendake7</author><pubDate>Sun, 21 May 2023 11:18:53 +0800</pubDate><description><![CDATA[参考链接：https://blog.youkuaiyun.com/King_3123/article/details/125651813。在application.properties文件中添加如下代码即可。]]></description><category></category></item><item><title><![CDATA[MySQL哪些情况适合创建索引？]]></title><link>https://blog.youkuaiyun.com/chendake7/article/details/124789676</link><guid>https://blog.youkuaiyun.com/chendake7/article/details/124789676</guid><author>chendake7</author><pubDate>Sun, 15 May 2022 22:30:44 +0800</pubDate><description><![CDATA[1.字段的数值有唯一性的限制
2.频繁作为where 查询条件字段
3.经常group by 和 Order by的列
4.update、delete 的where 条件列
5.distinct 字段需要创建索引
6.多表JOIN 连接操作时，创建索引注意事项
7.使用列的类型小的创建索引
8.使用字符串前缀创建索引
9. 区分度高（散列性高）的列适合作为索引
10.使用最频繁的列放到联合索引的左侧
11.在多个字段都要创建索引的情况下，联合索引优于单值索引

...]]></description><category></category></item><item><title><![CDATA[Linux操作文本常用命令]]></title><link>https://blog.youkuaiyun.com/chendake7/article/details/123622694</link><guid>https://blog.youkuaiyun.com/chendake7/article/details/123622694</guid><author>chendake7</author><pubDate>Sun, 20 Mar 2022 22:01:19 +0800</pubDate><description><![CDATA[1.删除文本中的空行
sed -n '/[^$]/p'

2.查看文本中某一行数据
#查看文件第5行
sed -n 5p test.txt
#查看文件第100~200行
sed -n '100,200p' test.txt

3.替换文本中某个字符
#将文本中的test替换为new
sed -i 's/test/new/g' test.txt


...]]></description><category></category></item><item><title><![CDATA[Kafka消费者读取数据]]></title><link>https://blog.youkuaiyun.com/chendake7/article/details/123262526</link><guid>https://blog.youkuaiyun.com/chendake7/article/details/123262526</guid><author>chendake7</author><pubDate>Thu, 03 Mar 2022 20:05:12 +0800</pubDate><description><![CDATA[Consumer测试类
import org.apache.kafka.clients.consumer.ConsumerRecord;
import org.apache.kafka.clients.consumer.ConsumerRecords;
import org.apache.kafka.clients.consumer.KafkaConsumer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.uti]]></description><category></category></item><item><title><![CDATA[log4j.properties配置模板]]></title><link>https://blog.youkuaiyun.com/chendake7/article/details/123262458</link><guid>https://blog.youkuaiyun.com/chendake7/article/details/123262458</guid><author>chendake7</author><pubDate>Thu, 03 Mar 2022 20:00:52 +0800</pubDate><description><![CDATA[log4j.rootLogger=INFO, stdout, logfile
log4j.logger.NewsNS.doCreate=TRACE
log4j.logger.cn.mldn.dao.INewsDAO=TRACE

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layo]]></description><category></category></item><item><title><![CDATA[Zookeeper分布式锁原理]]></title><link>https://blog.youkuaiyun.com/chendake7/article/details/123173183</link><guid>https://blog.youkuaiyun.com/chendake7/article/details/123173183</guid><author>chendake7</author><pubDate>Mon, 28 Feb 2022 00:08:39 +0800</pubDate><description><![CDATA[1.分布式锁介绍
单机应用开发，涉及并发同步的时候，我们往往采用synchronized 或者Lock的方式来解决多线程间的代码同步问题，这时多线程的运行都是在同一个JVM之下，没有任何问题。
但当我们的用用是分布式集群工作的情况下，属于多JVM下的工作环境，跨JVM之间已经无法通过多线程的锁同步解决问题，那么就需要一种更加高级的锁机制，来处理跨机器的线程间数据同步问题–这就是分布式锁
2.分布式锁实现的几种方法

基于缓存实现分布式锁
Redis
Memcache
Zookeeper实现分布式锁
Cura]]></description><category></category></item><item><title><![CDATA[Java操作Zookeeper API--Watch监听]]></title><link>https://blog.youkuaiyun.com/chendake7/article/details/123171183</link><guid>https://blog.youkuaiyun.com/chendake7/article/details/123171183</guid><author>chendake7</author><pubDate>Sun, 27 Feb 2022 21:45:07 +0800</pubDate><description><![CDATA[1.NodeCache:给指定一个节点注册监听器
2.PathChildrenCache : 监听某个节点下的所有子节点
3.TreeCache: 监听某个节点自己和所有的子节点们
package com.test.curator;

import org.apache.curator.RetryPolicy;
import org.apache.curator.framework.CuratorFramework;
import org.apache.curator.framework.CuratorFr]]></description><category></category></item><item><title><![CDATA[Java操作Zookeeper API--节点操作]]></title><link>https://blog.youkuaiyun.com/chendake7/article/details/123158072</link><guid>https://blog.youkuaiyun.com/chendake7/article/details/123158072</guid><author>chendake7</author><pubDate>Sat, 26 Feb 2022 23:16:10 +0800</pubDate><description><![CDATA[1.创建连接
public void test(){
        // 1.第一种方式
		// 连接策略
        RetryPolicy retryPolicy = new ExponentialBackoffRetry(3000,10);
        /**
         * Create a new client
         *
         * @param connectString       list of servers to connect to；zk ser]]></description><category></category></item><item><title><![CDATA[线程池定时执行任务]]></title><link>https://blog.youkuaiyun.com/chendake7/article/details/119922544</link><guid>https://blog.youkuaiyun.com/chendake7/article/details/119922544</guid><author>chendake7</author><pubDate>Thu, 26 Aug 2021 00:37:40 +0800</pubDate><description><![CDATA[ScheduledExecutorService 线程池定时执行任务，单次
private static void schedual() {
        ScheduledExecutorService pool = Executors.newScheduledThreadPool(2);
        pool.schedule(() -&gt; {
           logger.info("task1");
           // 即使有异常也不会影响其他任务的执行
          ]]></description><category></category></item><item><title><![CDATA[Timer定时执行任务]]></title><link>https://blog.youkuaiyun.com/chendake7/article/details/119922454</link><guid>https://blog.youkuaiyun.com/chendake7/article/details/119922454</guid><author>chendake7</author><pubDate>Thu, 26 Aug 2021 00:25:15 +0800</pubDate><description><![CDATA[Timer可以实现定时功能，Timer的优点在于简单易用，但由于所有任务都是由同一个线程来调度，因此所有任务都是串行执行的，同一时间只能有一个任务在执行，前一个任务的延迟或异常都将会影响到之后的任务。并且如果一个任务有异常，后续的任务就都中断了。
        Timer timer = new Timer();
        TimerTask task1 = new TimerTask(){
            @Override
            public void run() {
]]></description><category></category></item><item><title><![CDATA[Java多线程定时执行任务]]></title><link>https://blog.youkuaiyun.com/chendake7/article/details/119901061</link><guid>https://blog.youkuaiyun.com/chendake7/article/details/119901061</guid><author>chendake7</author><pubDate>Tue, 24 Aug 2021 23:40:46 +0800</pubDate><description><![CDATA[// 如何让每周四 18:00:00 定时执行任务
    public static void main(String[] args) {

        // 获取当前时间
        LocalDateTime now = LocalDateTime.now();
        // 获取周四下午6点30分0秒 的时间
        LocalDateTime time = now.withHour(6).withMinute(30).withSecond(0).with(DayOfWee.]]></description><category></category></item><item><title><![CDATA[IDEA 创建Scala 项目]]></title><link>https://blog.youkuaiyun.com/chendake7/article/details/118118631</link><guid>https://blog.youkuaiyun.com/chendake7/article/details/118118631</guid><author>chendake7</author><pubDate>Tue, 22 Jun 2021 21:46:31 +0800</pubDate><description><![CDATA[1.创建maven工程


2.下载scala插件

3. 创建scala文件夹

4. 添加框架支持


6.创建scala类


]]></description><category></category></item><item><title><![CDATA[HDFS读写数据流程]]></title><link>https://blog.youkuaiyun.com/chendake7/article/details/117392134</link><guid>https://blog.youkuaiyun.com/chendake7/article/details/117392134</guid><author>chendake7</author><pubDate>Sat, 29 May 2021 22:24:53 +0800</pubDate><description><![CDATA[HDFS写数据流程
1.HDFS客户端创建FileSystem对象实例DistributeFileSystem,FileSystem封装了与文件系统操作的相关方法
2.调用DistributedFileSystem对象的create()方法，通过RPC请求NameNode创建文件
NameNode执行各种检查判断：目标文件是否存在、父目录是否存在、客户端是否具有创建该文件的权限。检查通过，NameNode就会为本次请求记下一条记录，返回FSDataOutputStream输出流对象给客户端用于写数据
3.客]]></description><category></category></item><item><title><![CDATA[MapReduce工作机制]]></title><link>https://blog.youkuaiyun.com/chendake7/article/details/115756320</link><guid>https://blog.youkuaiyun.com/chendake7/article/details/115756320</guid><author>chendake7</author><pubDate>Fri, 16 Apr 2021 13:16:01 +0800</pubDate><description><![CDATA[1.MapTask工作机制详解
1.1执行步骤整体概述
①输入文件被逻辑切分为多个split文件，通过LineRecordReader按行读取内容给map(用户自己实现)进行处理；
②数据被map处理结束之后交给OutputCollection收集器，对其结果key进行分区(HashPartitioner),然后写入内存缓冲区，当缓冲区快满的时候(80%)需要将缓冲区的数据以一个临时文件的方式spill溢出到磁盘；
③最后再对磁盘上产生的所有临时文件做合并，生成最终的正式输出文件，然后等待reduce ta]]></description><category></category></item><item><title><![CDATA[Hive函数]]></title><link>https://blog.youkuaiyun.com/chendake7/article/details/115710280</link><guid>https://blog.youkuaiyun.com/chendake7/article/details/115710280</guid><author>chendake7</author><pubDate>Wed, 14 Apr 2021 21:42:00 +0800</pubDate><description><![CDATA[内置函数
查看系统自带的函数

show funcations;

显示自带函数的用法

desc funcation upper;

详细显示自带函数的用法

desc funcation extended upper;

常用内置函数

字符串连接函数
select concat(‘abc’,‘def’,‘gh’);
带分隔符的字符串连接函数
select concat_ws(’,’,‘abc’,‘def’,‘gh’);
cast类型转换
select cast(1.5 as cnt);
get_jso]]></description><category></category></item><item><title><![CDATA[hive分区表操作]]></title><link>https://blog.youkuaiyun.com/chendake7/article/details/115534474</link><guid>https://blog.youkuaiyun.com/chendake7/article/details/115534474</guid><author>chendake7</author><pubDate>Thu, 08 Apr 2021 23:40:57 +0800</pubDate><description><![CDATA[分区表的操作
在hive中，可以把大的数据，按照每月，或者天进行切分成一个个的小的文件，存放在不同的文件夹中
创建分区表语法

create table score(s_id string,c_id string,s_score int) partitioned by (month string) row format delimited fields terminated by ‘\t’;

创建一个表带多个分区

create table score2(s_id string,c_id string,s]]></description><category></category></item><item><title><![CDATA[hive数据库表基本操作]]></title><link>https://blog.youkuaiyun.com/chendake7/article/details/115497296</link><guid>https://blog.youkuaiyun.com/chendake7/article/details/115497296</guid><author>chendake7</author><pubDate>Wed, 07 Apr 2021 23:21:05 +0800</pubDate><description><![CDATA[查看所有的数据库

show databases;

创建数据库

create database if not exists myhive;
use myhive;

说明：hive的表的存放位置模式是由hive-site.xml当中的一个数据指定的

&lt;name&gt;hive.metastore.warehouse.dir&lt;\name&gt;
&lt;value&gt;/user/hive/warehouse&lt;\value&gt;

创建数据库并指定位置

create databa]]></description><category></category></item></channel></rss>