<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[smileYYR的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/smileYYR</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; smileYYR]]></copyright><item><title><![CDATA[PaddleOcr项目的部署]]></title><link>https://blog.youkuaiyun.com/smileYYR/article/details/121136235</link><guid>https://blog.youkuaiyun.com/smileYYR/article/details/121136235</guid><author>smileYYR</author><pubDate>Wed, 01 Dec 2021 18:03:22 +0800</pubDate><description><![CDATA[paddleocr项目的部署
创建虚拟环境：conda create  env_name python=x.x
激活虚拟机：activate env_name
安装paddlepaddle：python -m pip install paddlepaddle==2.0.0rc1 -i https://mirror.baidu.com/pypi/simple
安装shapely包：pip install shapely -i https://mirror.baidu.com/pypi/simple
安装Pad]]></description><category></category></item><item><title><![CDATA[post和get真正真正真正...的区别]]></title><link>https://blog.youkuaiyun.com/smileYYR/article/details/121660463</link><guid>https://blog.youkuaiyun.com/smileYYR/article/details/121660463</guid><author>smileYYR</author><pubDate>Wed, 01 Dec 2021 17:44:45 +0800</pubDate><description><![CDATA[其实post和get都是http协议两种请求，而http是基于TCP/IP如何在万维网中进行数据通信的协议。
所以post和get也都是基于TCP协议通信的，那他们到底有何不同？
TCP就类似一个载体，而get post put delete就是形式上的定义，get把传送的数据放在了url上 ，post把传送的数据放在了requrest body里面是比较含蓄的携带
但是最重要的区别还在于，get是一趟运输生成一个数据包，而post是两趟运输生成两个数据包，get在一趟中会把http header 和dat]]></description><category></category></item><item><title><![CDATA[JavaScript初识]]></title><link>https://blog.youkuaiyun.com/smileYYR/article/details/120047250</link><guid>https://blog.youkuaiyun.com/smileYYR/article/details/120047250</guid><author>smileYYR</author><pubDate>Thu, 02 Sep 2021 18:25:10 +0800</pubDate><description><![CDATA[1、JavaScript的历史
Netscape（网景）在最初将其脚本语言命名为LiveScript，是布兰登.艾克发明的。后来Netscape在与Sun合作之后将其改名为JavaScript。JavaScript最初受Java启发而开始设计的，目的之一就是“看上去像Java”，因此语法上有类似之处，一些名称和命名规范也借自Java。JavaScript与Java名称上的近似，是当时Netscape为了营销考虑与Sun微系统达成协议的结果。Java和JavaScript的关系就像张雨和张雨生的关系，只是名字]]></description><category></category></item><item><title><![CDATA[Flink入门]]></title><link>https://blog.youkuaiyun.com/smileYYR/article/details/120047019</link><guid>https://blog.youkuaiyun.com/smileYYR/article/details/120047019</guid><author>smileYYR</author><pubDate>Wed, 01 Sep 2021 19:20:33 +0800</pubDate><description><![CDATA[1.定义
核心是用java和scala编写的框架和分布式处理引擎java api scala api，用于对无界(实时流数据)和有界数据流(离线数据也称为批量数据处理)进行有状态计算
2.数据过程
处理数据过程抽象为三个过程：source -&gt;Transform -&gt; Sink
3.架构设计

4.相关术语
物理部署层-deploy层：负责解决Flink的部署模式问题，
Runtime核心层：是Flink分布式计算框架的核心实现层，负责对上层不同接口提供基础服务。将DataStream和Data]]></description><category></category></item><item><title><![CDATA[Hadoop的缓存机制]]></title><link>https://blog.youkuaiyun.com/smileYYR/article/details/120046998</link><guid>https://blog.youkuaiyun.com/smileYYR/article/details/120046998</guid><author>smileYYR</author><pubDate>Wed, 01 Sep 2021 19:17:33 +0800</pubDate><description><![CDATA[1、分布式缓存一个最重要的应用就是在进行join操作的时候，如果一个表很大，另一个表很小，我们就可以将这个小表进行广播处理，即每个计算节点上都存一份，然后进行map端的连接操作，经过我的实验验证，这种情况下处理效率大大高于一般的reduce端join，广播处理就运用到了分布式缓存的技术。
2、DistributedCache将拷贝缓存的文件到Slave节点在任何Job在节点上执行之前，文件在每个Job中只会被拷贝一次，缓存的归档文件会被在Slave节点中解压缩。将本地文件复制到HDFS中去，接着Client]]></description><category></category></item><item><title><![CDATA[Mapreduce的排序以及排序发生的阶段]]></title><link>https://blog.youkuaiyun.com/smileYYR/article/details/120046974</link><guid>https://blog.youkuaiyun.com/smileYYR/article/details/120046974</guid><author>smileYYR</author><pubDate>Wed, 01 Sep 2021 19:15:55 +0800</pubDate><description><![CDATA[1.排序的分类：
（1）部分排序：
MapReduce根据输入记录的键对数据集排序。保证输出的每个文件内部排序。
（2）全排序：
如何用Hadoop产生一个全局排序的文件？最简单的方法是使用一个分区。但该方法在处理大型文件时效率极低，因为一台机器必须处理所有输出文件，从而完全丧失了MapReduce所提供的并行架构。
替代方案：首先创建一系列排好序的文件；其次，串联这些文件；最后，生成一个全局排序的文件。主要思路是使用一个分区来描述输出的全局排序。例如：可以为待分析文件创建3个分区，在第一分区中，记录的单词]]></description><category></category></item><item><title><![CDATA[MapTask和ReduceTask工作机制]]></title><link>https://blog.youkuaiyun.com/smileYYR/article/details/120046948</link><guid>https://blog.youkuaiyun.com/smileYYR/article/details/120046948</guid><author>smileYYR</author><pubDate>Wed, 01 Sep 2021 19:14:18 +0800</pubDate><description><![CDATA[（1）Read阶段：Map Task通过用户编写的RecordReader，从输入InputSplit中解析出一个个key/value。
（2）Map阶段：该节点主要是将解析出的key/value交给用户编写map()函数处理，并产生一系列新的key/value。
（3）Collect收集阶段：在用户编写map()函数中，当数据处理完成后，一般会调用OutputCollector.collect()输出结果。在该函数内部，它会将生成的key/value分区（调用Partitioner），并写入一个环形内存缓]]></description><category></category></item><item><title><![CDATA[hadoop序列化和反序列化]]></title><link>https://blog.youkuaiyun.com/smileYYR/article/details/120046919</link><guid>https://blog.youkuaiyun.com/smileYYR/article/details/120046919</guid><author>smileYYR</author><pubDate>Wed, 01 Sep 2021 19:12:11 +0800</pubDate><description><![CDATA[1.序列化和反序列化
（1）序列化就是把内存中的对象，转换成字节序列（或其他数据传输协议）以便于存储（持久化）和网络传输。
（2）反序列化就是将收到字节序列（或其他数据传输协议）或者是硬盘的持久化数据，转换成内存中的对象。
（3）Java的序列化是一个重量级序列化框架（Serializable），一个对象被序列化后，会附带很多额外的信息（各种校验信息，header，继承体系等），不便于在网络中高效传输。所以，hadoop自己开发了一套序列化机制（Writable），精简、高效。
2.自定义bean对象要想序]]></description><category></category></item><item><title><![CDATA[redis]]></title><link>https://blog.youkuaiyun.com/smileYYR/article/details/120046743</link><guid>https://blog.youkuaiyun.com/smileYYR/article/details/120046743</guid><author>smileYYR</author><pubDate>Wed, 01 Sep 2021 19:03:04 +0800</pubDate><description><![CDATA[1.redis是什么
redis是一个高性能的key-value内存型数据库

2.特点：
数据持久化，将数据保存在磁盘中，重启自动再次加载进行使用
支持key-value类型的数据操作，还提供list,set,zset,hash等数据结构的存储
支持数据的主从备份，采用master-slave模式的主从备份
实现数据块的分布式存储和响应
读写性能高
所有操作均为原子性操作
三种运行模式
		单机部署
		主备部署
		分布式部署

3.组件
	MemoryCache-kv型缓存数据块：单进程多线程模式
	]]></description><category></category></item><item><title><![CDATA[Kafka]]></title><link>https://blog.youkuaiyun.com/smileYYR/article/details/120046714</link><guid>https://blog.youkuaiyun.com/smileYYR/article/details/120046714</guid><author>smileYYR</author><pubDate>Wed, 01 Sep 2021 19:00:24 +0800</pubDate><description><![CDATA[1.定义
kafka是高吞吐量的分布式、支持分区(partition)、多副本(replication)、基于zookeeper协调的信息系统。
2.专业术语
1）Message：消息数据kafka的数据实体，组件Message Queue消息队列MQ
2）Broker:kafka包含一个或多个服务器
3）Topic:Kafka集群的消息都有一个类别，这个类别被称为Topic，相当于给一类消息管道起个名字
4）partition：每个topic包含一个或多个partition，每个partition均会有三]]></description><category></category></item><item><title><![CDATA[覆写和多态]]></title><link>https://blog.youkuaiyun.com/smileYYR/article/details/115662285</link><guid>https://blog.youkuaiyun.com/smileYYR/article/details/115662285</guid><author>smileYYR</author><pubDate>Wed, 01 Sep 2021 18:57:36 +0800</pubDate><description><![CDATA[1.覆写
覆写是子类和父类有一样的方法名，参数类别返回值都一样，此方法特指成员方法，且不能用于更低的访问权限，不能有更宽泛的异常
1.1 优点：  满足当前需求
错误越来越少
使用范围越来越广
功能越来越强
1.2 final
是修饰符，表示最终的 不可修改的
final修饰的类不能被继承
final修饰的成员方法不能被覆写
final修饰的变量没有默认值，必须赋值且整个生命周期都不能被更改
2.多态
多态是父类类型创建引用类型变量指向子类创建的对象
多态的三种形式
2.1直接变量发生多态
父类 变量 = ]]></description><category></category></item><item><title><![CDATA[IO流的分类]]></title><link>https://blog.youkuaiyun.com/smileYYR/article/details/115876038</link><guid>https://blog.youkuaiyun.com/smileYYR/article/details/115876038</guid><author>smileYYR</author><pubDate>Wed, 01 Sep 2021 18:57:04 +0800</pubDate><description><![CDATA[1.流是什么
数据传递的统称 流
2.分类
按数据处理数据类型：字符流  字节流  InputStream/OutputStream Reader/Writer
按流向的方向：输入流  输出流
按功能的不同：节点流  处理流
3.转换流
InputStream 字节输入流转为字符输出流
4.缓冲流
BufferedReader
BufferedWriter
5.打印流
6.shujuliu

...]]></description><category></category></item><item><title><![CDATA[SparkStreaming]]></title><link>https://blog.youkuaiyun.com/smileYYR/article/details/120021789</link><guid>https://blog.youkuaiyun.com/smileYYR/article/details/120021789</guid><author>smileYYR</author><pubDate>Wed, 01 Sep 2021 18:56:12 +0800</pubDate><description><![CDATA[接收实时输入数据流并将数据分成批处理，然后由SparkCore引擎处理，以批量生成最终结果流
1)build.sbt中添加spark-streaming依赖
2)从SparkConf 开始
3）指定运行模式.setMaster("local[]")  setAppName("")
4) 初始化ssc StreamingContext
5)  从端口中读取文本数据ssc.socketTextStream
6) 将DStream打平处理(将离散的的rdd进行打平处理)
7)把单列的的word转换我饿双列kv结构]]></description><category></category></item><item><title><![CDATA[spark sql]]></title><link>https://blog.youkuaiyun.com/smileYYR/article/details/120021739</link><guid>https://blog.youkuaiyun.com/smileYYR/article/details/120021739</guid><author>smileYYR</author><pubDate>Tue, 31 Aug 2021 16:52:22 +0800</pubDate><description><![CDATA[spark处理结构化数据的模块（json,parquet,avro,csv）与基础RDD的API不同，Spark SQL中提供的接口将提供给更多关于结构化数据和计算的信息，并针对这些信息，进行额外的处理优化

1.Spark Sql操作方式
SparkSql shell
DataFrames API :spark代码面向DF编程
DataSets API：spark代码面向DS编程 数据抽象类型
面向程序接口对接的操作：通过JDBC、ODBC等方式操作SparkSql
2.SparkSql shell 操作]]></description><category></category></item><item><title><![CDATA[spark算子]]></title><link>https://blog.youkuaiyun.com/smileYYR/article/details/120021624</link><guid>https://blog.youkuaiyun.com/smileYYR/article/details/120021624</guid><author>smileYYR</author><pubDate>Tue, 31 Aug 2021 16:50:58 +0800</pubDate><description><![CDATA[1.MapReduce只有2个算子，Map和Reduce，绝大多数应用场景下，均需要复杂编码才能达到用户需求，而spark有八十多个算子
2.转换算子：此种算子不触发提交作业，只有作业被提交后才会真正启动转换计算
3.value型转换算子：
4.一对一：map算子：给定一个输入通过map函数映到成一个新的元素输出
flatMap算子：给定一个输入，将返回的所有结果打平成一个一维集合结构
mapPartitions算子
glom算子：以分区为单位，将每个分区的值形成一个数组
5.多对一：union算子：两个R]]></description><category></category></item><item><title><![CDATA[spark入门]]></title><link>https://blog.youkuaiyun.com/smileYYR/article/details/120021540</link><guid>https://blog.youkuaiyun.com/smileYYR/article/details/120021540</guid><author>smileYYR</author><pubDate>Tue, 31 Aug 2021 16:46:41 +0800</pubDate><description><![CDATA[1.spark是什么
spark为大规模数据处理而设计的快速通用的计算引擎。
2.特点
速度快，内存计算下 spark比hadoop快100倍
易用性：80多个高级运算符 支持java，scala，Python，R，sql
通用性：提供大量库，例如sql，dataframes等 可在同一个应用程序无缝编写程序
支持多种资源管理器：hadoop、yarn、apache、mesos
3.spark生态圈

4.spark core架构设计图

4.1相关术语
1）RDD：弹性分布式数据集，是一组只读、可分区的分]]></description><category></category></item><item><title><![CDATA[hive是什么]]></title><link>https://blog.youkuaiyun.com/smileYYR/article/details/120021338</link><guid>https://blog.youkuaiyun.com/smileYYR/article/details/120021338</guid><author>smileYYR</author><pubDate>Tue, 31 Aug 2021 16:38:59 +0800</pubDate><description><![CDATA[1.hive是什么
是hadoop应用层的数据仓库架构，面向分析。
用的是3.1版本 市面很多还是2.x
流程：在userInterface处有三个接口进行交互，面向命令的Hive CLI、Hive jdbc的Hive Client 、web交互的（很少用）HWI–&gt;核心（两大部分四小块）Drive–sql parser对sql语句语法检查–优化–执行
2.shell命令：
hive
show databases；
use 数据库名；
show tsbles；
insert into 表名 value]]></description><category></category></item><item><title><![CDATA[hadoop]]></title><link>https://blog.youkuaiyun.com/smileYYR/article/details/120021267</link><guid>https://blog.youkuaiyun.com/smileYYR/article/details/120021267</guid><author>smileYYR</author><pubDate>Tue, 31 Aug 2021 16:37:16 +0800</pubDate><description><![CDATA[1.发展史：
2009-2012	1.x    没有hasp，存储的数据较少
2013-2017  2.x	加入yarn 进入了成熟阶段，被市面上普遍使用
2017-至今	3.x	对2.x进行了升华，加速计算 实时计算
核心组件：hdfs mapredduce yarn
2.分布
HDFS：分布式海量数据存储功能
yarn：提供资源调度和任务管理功能
MapReduce：分布式并行编程模型和计算框架
Hive：提供数据摘要和查询数据仓库
Streaming： 解决非 Java 开发人员使用 Hadoop 平]]></description><category></category></item><item><title><![CDATA[hdfs基础]]></title><link>https://blog.youkuaiyun.com/smileYYR/article/details/120021124</link><guid>https://blog.youkuaiyun.com/smileYYR/article/details/120021124</guid><author>smileYYR</author><pubDate>Tue, 31 Aug 2021 16:32:31 +0800</pubDate><description><![CDATA[1.特点：
1）高容错、高可用性：利用备份和心跳自检快速恢复
2）流式数据访问：批量的顺序处理，提高吞吐量
3）弹性存储：灵活的增加或减少存储节点
4）简单一致性模型：实现一次性写多次读的访问模式
5）移动计算而非移动数据：对于大文件存储移动计算的成本更低
6）协议和接口多样性：为上层应用提高多种接口，通常自己会有专用接口
7）多样的数据管理功能：数据的压缩、数据加密、数据缓存、存储配额等都分配了多样的管理功能
2.HDFS组件
NameNode：记录文件如何分割成数据块以及数据存储到集群的哪个节点上。读写]]></description><category></category></item><item><title><![CDATA[Linux常用命令]]></title><link>https://blog.youkuaiyun.com/smileYYR/article/details/120020921</link><guid>https://blog.youkuaiyun.com/smileYYR/article/details/120020921</guid><author>smileYYR</author><pubDate>Tue, 31 Aug 2021 16:26:09 +0800</pubDate><description><![CDATA[一、基础命令
1.用户相关
添加用户   		useradd [用户名]
切换用户   		su [用户名]
查看当前登录的用户 whoami
修改密码		passwd [用户名]
2.系统相关
关闭服务器		poweroff
重启服务器		reboot
切换目录		cd /…
查看文件或子目录 ls
3.文件相关
在指定目录下创建文件夹		mkdir
在该路径下创建一个文件		touch
查看文件		cat [文件]
向文件追加内容		echo “追加的内容” &gt;&gt; [文件名]
拷贝		cp ]]></description><category></category></item></channel></rss>