<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Radiation_x的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Radiation_x</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Radiation_x]]></copyright><item><title><![CDATA[数据湖架构]]></title><link>https://blog.youkuaiyun.com/Radiation_x/article/details/119928094</link><guid>https://blog.youkuaiyun.com/Radiation_x/article/details/119928094</guid><author>Radiation_x</author><pubDate>Thu, 26 Aug 2021 11:41:04 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[面试难题总结]]></title><link>https://blog.youkuaiyun.com/Radiation_x/article/details/118653259</link><guid>https://blog.youkuaiyun.com/Radiation_x/article/details/118653259</guid><author>Radiation_x</author><pubDate>Sun, 11 Jul 2021 13:07:25 +0800</pubDate><description><![CDATA[基础部分
常见shell命令

常见HDFS命令




序号
命令
命令解释




1
hdfs dfs -cat  |wc -l
查看下HDFS文件的行数


2
hdfs dfs -ls /
查看当前目录信息


3
hdfs dfs -put /本地路径 /hdfs路径
上传文件


4
hdfs dfs -get /hdfs路径 /本地路径
下载文件到本地


5
hdfs dfs -mkdir /hello
创建文件夹


6
hdfs dfs -rm /aa.txt
删除hdfs文件


7]]></description><category></category></item><item><title><![CDATA[hiveserver2经常挂掉]]></title><link>https://blog.youkuaiyun.com/Radiation_x/article/details/115344572</link><guid>https://blog.youkuaiyun.com/Radiation_x/article/details/115344572</guid><author>Radiation_x</author><pubDate>Wed, 31 Mar 2021 10:33:23 +0800</pubDate><description><![CDATA[一般是默认堆空间过小导致的
将hive(根路径下)/conf/hive-env.xml文件里增加一行配置更改堆大小为512mb或者以上


]]></description><category></category></item><item><title><![CDATA[hive关闭严格模式]]></title><link>https://blog.youkuaiyun.com/Radiation_x/article/details/115343039</link><guid>https://blog.youkuaiyun.com/Radiation_x/article/details/115343039</guid><author>Radiation_x</author><pubDate>Wed, 31 Mar 2021 09:48:51 +0800</pubDate><description><![CDATA[关闭时慎重！！！
不关闭会限制以下查询：
1）带有分区的表的查询
2）带有orderby的查询
3）限制笛卡尔积的查询
去hive(根路径)/conf/hive-site.xml
下添加或更改strict为下面


]]></description><category></category></item><item><title><![CDATA[大数据中篇03_Flume]]></title><link>https://blog.youkuaiyun.com/Radiation_x/article/details/113775009</link><guid>https://blog.youkuaiyun.com/Radiation_x/article/details/113775009</guid><author>Radiation_x</author><pubDate>Tue, 09 Feb 2021 20:09:56 +0800</pubDate><description><![CDATA[Flume
定义：Flume是Cloudera提供的一个高可用的，高可靠的，分布式的海量日志采集、聚合和传输的系统。Flume基于流式架构，灵活简单

Flume基础架构

Flume安装部署
（1）将apache-flume-1.9.0-bin.tar.gz上传到linux的/opt/software目录下
（2）解压apache-flume-1.9.0-bin.tar.gz到/opt/module/目录下
tar -zxf /opt/software/apache-flume-1.9.0-bin.tar]]></description><category></category></item><item><title><![CDATA[大数据中篇04_Kafka]]></title><link>https://blog.youkuaiyun.com/Radiation_x/article/details/113774978</link><guid>https://blog.youkuaiyun.com/Radiation_x/article/details/113774978</guid><author>Radiation_x</author><pubDate>Tue, 09 Feb 2021 20:07:22 +0800</pubDate><description><![CDATA[Kafka
Kafka是scala写的异步处理的消息队列
kafka基础框架

（1）Producer ：消息生产者，就是向kafka broker发消息的客户端；
（2）Consumer ：消息消费者，向kafka broker取消息的客户端；
（3）Consumer Group （CG）：消费者组，由多个consumer组成。消费者组内每个消费者负责消费不同分区的数据，一个分区只能由一个消费者消费；消费者组之间互不影响。所有的消费者都属于某个消费者组，即消费者组是逻辑上的一个订阅者。
（4）Broker]]></description><category></category></item><item><title><![CDATA[大数据中篇03_flume事务（重点！）]]></title><link>https://blog.youkuaiyun.com/Radiation_x/article/details/113772796</link><guid>https://blog.youkuaiyun.com/Radiation_x/article/details/113772796</guid><author>Radiation_x</author><pubDate>Tue, 09 Feb 2021 16:54:32 +0800</pubDate><description><![CDATA[Flume事务（重点）

Put 事务流程
doPut：将批数据先写入临时缓冲区 putList
doCommit：检查 channel 内存队列是否足够合并
doRollback：channel 内存队列空间不足，回滚数据
Take 事务流程
doTake：将数据取到临时缓冲区 takeList，并将数据发送到 HDFS
doCommit：如果数据全部发送成功，则清除临时缓冲区 takeList
doRollback：数据发送过程中如果出现异常，rollback 将临时缓冲区 takeList 中的数据归]]></description><category></category></item><item><title><![CDATA[大数据中篇01_Hive]]></title><link>https://blog.youkuaiyun.com/Radiation_x/article/details/113071095</link><guid>https://blog.youkuaiyun.com/Radiation_x/article/details/113071095</guid><author>Radiation_x</author><pubDate>Sun, 24 Jan 2021 10:19:05 +0800</pubDate><description><![CDATA[Hive
Hive：由Facebook开源用于解决海量结构化日志的数据统计工具
Hive是基于Hadoop的一个数据仓库工具，可以将结构化的数据文件映射为一张表，并提供类SQL查询功能
本质是：将HQL转化成MapReduce程序

（1）Hive处理的数据存储在HDFS
（2）Hive分析数据底层的实现是MapReduce
（3）执行程序运行在Yarn上
Hive的优缺点
优点
（1）操作接口采用类SQL语法，提供快速开发的能力（简单、容易上手）
（2）避免了去写MapReduce，减少开发人员的学习成本]]></description><category></category></item><item><title><![CDATA[大数据中篇02_Hive-数据操作语句]]></title><link>https://blog.youkuaiyun.com/Radiation_x/article/details/113005606</link><guid>https://blog.youkuaiyun.com/Radiation_x/article/details/113005606</guid><author>Radiation_x</author><pubDate>Fri, 22 Jan 2021 22:40:20 +0800</pubDate><description><![CDATA[Hive-数据操作语句（陆续修改中）
函数部分
查看系统内置函数
1）查看系统自带的函数
hive&gt; show functions;

2）显示自带的函数的用法
hive&gt; desc function upper;

3）详细显示自带的函数的用法
hive&gt; desc function extended upper;

常用内置函数
空字段赋值（NVL）
函数说明
NVL：给值为NULL的数据赋值，它的格式是NVL( value，default_value)。它的功能是如果value为NU]]></description><category></category></item><item><title><![CDATA[多态，接口，枚举]]></title><link>https://blog.youkuaiyun.com/Radiation_x/article/details/112718854</link><guid>https://blog.youkuaiyun.com/Radiation_x/article/details/112718854</guid><author>Radiation_x</author><pubDate>Sat, 16 Jan 2021 17:56:12 +0800</pubDate><description><![CDATA[多态
1.定义：同一种行为，具有多个不同的表现形式
2.前提条件：必须继承或者实现，必须有的重写
3.语法：父类的类名   对象名=new 子类的类名(实参列表)；
子类的对象指向父类的引用
4.特性：
一旦有多态，分区编译和运行(编译看左，运行看右)
编译看左边：对象只能调用父类中存在的内容(子类独有的是调用不到的)	名义类型
运行看右边：运行的时候看实际类型是什么？调用的内容是调用实际类型	实际类型
属性和静态方法是没有多态的!
因为：属性和静态方法是没有重写和概念的
在调用属性和静态方法的时候，只看编]]></description><category></category></item><item><title><![CDATA[变量的分类和区别详解]]></title><link>https://blog.youkuaiyun.com/Radiation_x/article/details/112718833</link><guid>https://blog.youkuaiyun.com/Radiation_x/article/details/112718833</guid><author>Radiation_x</author><pubDate>Sat, 16 Jan 2021 17:55:42 +0800</pubDate><description><![CDATA[变量的分类和区别详解
1.变量按照数据类型分：
1.基本数据类型的变量，里面存储数据值
2.应用数据类型的变量，里面存储的是对象的地址值
2.变量按照神明的位置不同
1.成员变量
2.局部变量
3.成员变量与局部变量的区别
1.声明的位置不同
成员变量：类中的方法外
局部变量：1.方法的（）中，即形参
2.方法体的{}的局部变量
3.代码块{}中
2.存储的位置不同
成员变量：
如果是在静态变量(类变量)中，在方法区中
如果是在非静态变量(实例变量)，在堆里
局部变量：栈
3.修饰符的不同
成员变量：4种权]]></description><category></category></item><item><title><![CDATA[反射]]></title><link>https://blog.youkuaiyun.com/Radiation_x/article/details/112718714</link><guid>https://blog.youkuaiyun.com/Radiation_x/article/details/112718714</guid><author>Radiation_x</author><pubDate>Sat, 16 Jan 2021 17:53:43 +0800</pubDate><description><![CDATA[第16章 反射（Reflect）
16.1 类加载
类在内存中的生命周期：加载–&gt;使用–&gt;卸载
16.1.1 类的加载过程
当程序主动使用某个类时，如果该类还未被加载到内存中，系统会通过加载、连接、初始化三个步骤来对该类进行初始化，如果没有意外，JVM将会连续完成这三个步骤，所以有时也把这三个步骤统称为类加载。
类的加载又分为三个阶段：
（1）加载：load
就是指将类型的clas字节码数据读入内存
（2）连接：link
①验证：校验合法性等
②准备：准备对应的内存（方法区），创建Class对象]]></description><category></category></item><item><title><![CDATA[文件与IO（File类与IO流）]]></title><link>https://blog.youkuaiyun.com/Radiation_x/article/details/112718632</link><guid>https://blog.youkuaiyun.com/Radiation_x/article/details/112718632</guid><author>Radiation_x</author><pubDate>Sat, 16 Jan 2021 17:51:32 +0800</pubDate><description><![CDATA[文件与IO（File类与IO流）
File类
构造方法


（这个用的多点）public File(String pathname) ：通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。


public File(String parent, String child) ：从父路径名字符串和子路径名字符串创建新的 File实例。


public File(File parent, String child) ：从父抽象路径名和子路径名字符串创建新的 File实例。


构造举例，代码如下]]></description><category></category></item><item><title><![CDATA[网络编程]]></title><link>https://blog.youkuaiyun.com/Radiation_x/article/details/112718608</link><guid>https://blog.youkuaiyun.com/Radiation_x/article/details/112718608</guid><author>Radiation_x</author><pubDate>Sat, 16 Jan 2021 17:51:02 +0800</pubDate><description><![CDATA[网络编程
软件结构：
C/S结构 ：全称为Client/Server结构，是指客户端和服务器结构。常见程序有ＱＱ、红蜘蛛、飞秋等软件。
B/S结构 ：全称为Browser/Server结构，是指浏览器和服务器结构。常见浏览器有IE、谷歌、火狐等。
网络通信协议
TCP/IP协议参考模型

TCP/IP协议中的四层分别是应用层、传输层、网络层和链路层，每层分别负责不同的通信功能。
链路层：链路层是用于定义物理传输通道，通常是对某些网络连接设备的驱动协议，例如针对光纤、网线提供的驱动。
网络层：网络层是整个TC]]></description><category></category></item><item><title><![CDATA[mapreduce之shuffle详解]]></title><link>https://blog.youkuaiyun.com/Radiation_x/article/details/112718311</link><guid>https://blog.youkuaiyun.com/Radiation_x/article/details/112718311</guid><author>Radiation_x</author><pubDate>Sat, 16 Jan 2021 17:47:18 +0800</pubDate><description><![CDATA[FileInputFormat阶段切分的3数据片(也可根据需求生成多个MapTask来处理数据片，能够提高速度)
map方法按行读取生成KV对
MapTask阶段的Shuffle过程(所有MapTask是并行的)
(1) Map方法执行的数据进入环形缓冲区，当数据达到80%时，溢写
(2) 溢写到磁盘前对数据进行分区和区内排序 ，调用分区器进行分区（默认是Hash），对key进行排序，默认按字典顺序，采用的手段是快排，就是Collect收集阶段，
(3) 溢写到了磁盘(这时只是临时文件，并没有真正落盘，因.]]></description><category></category></item><item><title><![CDATA[数据结构、集合、Collection 常用功能]]></title><link>https://blog.youkuaiyun.com/Radiation_x/article/details/112628278</link><guid>https://blog.youkuaiyun.com/Radiation_x/article/details/112628278</guid><author>Radiation_x</author><pubDate>Thu, 14 Jan 2021 18:48:59 +0800</pubDate><description><![CDATA[数据结构、集合、Collection 常用功能、迭代器
数据结构
容器：数组–&gt;集合
顺序结构：  数组
​	空间是连续，有索引位置
链式结构：
​		单向链表
​		双向链表
​		循环链表
​		二叉树	有大小序
​		红黑树
集合
集合：集合是java中提供的一种容器，可以用来存储多个数据。
数组  --&gt; 需要指定数据类型、数组需要指定长度
集合  --&gt; 可以不指定数据类型、也不需要指定长度、集合中只能存储对象(不能够存储基本数据类型)

数组的长度是固定的。集合的长度是可变的。]]></description><category></category></item><item><title><![CDATA[泛型]]></title><link>https://blog.youkuaiyun.com/Radiation_x/article/details/112628244</link><guid>https://blog.youkuaiyun.com/Radiation_x/article/details/112628244</guid><author>Radiation_x</author><pubDate>Thu, 14 Jan 2021 18:48:11 +0800</pubDate><description><![CDATA[泛型
**泛型用在何处：**当我们在声明类或接口时，类或接口中定义某个成员时，该成员有些类型是不确定的，而这个类型在使用这个类或接口时可以确定，那么我们可以使用泛型。
**泛型的好处：**可以有效的避免强转
泛型如何使用：
使用的类或者接口或者方法已经定义好泛型，我们才可以用！
在使用该内容的时候，指定其具体类型：
在实例化对象的时候,等号左侧的泛型需要指定，等号右侧可以省略
泛型的具体类型不能是基本数据类型,只能是引用数据类型
泛型是不存在多态的
语法格式：（重点）
【修饰符】 class 类名&lt;类]]></description><category></category></item><item><title><![CDATA[反射]]></title><link>https://blog.youkuaiyun.com/Radiation_x/article/details/112628195</link><guid>https://blog.youkuaiyun.com/Radiation_x/article/details/112628195</guid><author>Radiation_x</author><pubDate>Thu, 14 Jan 2021 18:47:40 +0800</pubDate><description><![CDATA[反射
类加载
类在内存中的生命周期：加载–&gt;使用–&gt;卸载
类的加载又分为三个阶段：
（1）加载：load
就是指将类型的clas字节码数据读入内存
（2）连接：link
①验证：校验合法性等
②准备：准备对应的内存（方法区），创建Class对象，为类变量赋默认值，为静态常量赋初始值。
③解析：把字节码中的符号引用替换为对应的直接地址引用
（3）初始化：initialize（类初始化）即执行类初始化方法，大多数情况下，类的加载就完成了类的初始化，有些情况下，会延迟类的初始化。
类初始化
1、哪些操]]></description><category></category></item><item><title><![CDATA[多线程]]></title><link>https://blog.youkuaiyun.com/Radiation_x/article/details/112628165</link><guid>https://blog.youkuaiyun.com/Radiation_x/article/details/112628165</guid><author>Radiation_x</author><pubDate>Thu, 14 Jan 2021 18:47:12 +0800</pubDate><description><![CDATA[多线程
并发与并行

并行（parallel）：指两个或多个事件在同一时刻发生（同时发生）。指在同一时刻，有多条指令在多个处理器上同时执行。
并发（concurrency）：指两个或多个事件在同一个时间段内发生。指在同一个时刻只能有一条指令执行，但多个进程的指令被快速轮换执行，使得在宏观上具有多个进程同时执行的效果。

线程与进程


程序：为了完成某个任务和功能，选择一种编程语言编写的一组指令的集合。


软件：1个或多个应用程序+相关的素材和资源文件等构成一个软件系统。


进程：是指一个内存中运行的应]]></description><category></category></item><item><title><![CDATA[内部类、枚举、注解，单例模式]]></title><link>https://blog.youkuaiyun.com/Radiation_x/article/details/112627984</link><guid>https://blog.youkuaiyun.com/Radiation_x/article/details/112627984</guid><author>Radiation_x</author><pubDate>Thu, 14 Jan 2021 18:44:50 +0800</pubDate><description><![CDATA[内部类、枚举、注解
内部类
概述
1、什么是内部类？
将一个类A定义在另一个类B里面，里面的那个类A就称为内部类，B则称为外部类。
2、为什么要声明内部类呢？
当一个事物的内部，还有一个部分需要一个完整的结构进行描述，而这个内部的完整的结构又只为外部事物提供服务，不在其他地方单独使用，那么整个内部的完整结构最好使用内部类。
3、内部类都有哪些形式？
根据内部类声明的位置（如同变量的分类），我们可以分为：
（1）成员内部类：

静态成员内部类
非静态成员内部类

（2）局部内部类

有名字的局部内部类
匿名的]]></description><category></category></item></channel></rss>