独家整理,超级全的问答!!
1、mysql和hive有什么区别 / OLTP和OLAP的区别 / 数据库和数据仓库的区别?
Hive: OLAP A,数据仓库,面向主题,面向分析,存储历史数据,不能修改删除等,查询量大,查询慢,也是有事务和索引的,但是不用
MySQL: OLTP T,数据库,面向业务,存储的是业务数据,可以增删改查,速度快 效率高,查询量小,支持事务和索引
2、分桶表和分区表的区别?
分区表:使用partition by子句指定
有静态分区(手动加载)和动态分区的两种
一个表可以拥有一个或多个分区,每个分区以文件夹的形式单独存放在表文件夹目录下。
算是Hive的优化
分桶表:使用clustered by子句指定
将表中记录按照分桶键的哈希值分散进多个小文件中,这些小文件就称为桶。
分文件,将文件进行打散,在数据倾斜的时候,使用分桶表可以处理数据倾斜问题
3、分桶表需要进入mapreduce嘛?
是否需要在MapReduce框架下处理分桶表,取决于应用场景的需求。
简单查询不一定需要MapReduce进行处理。复杂的则需要,对分桶表数据进行分析、汇总或者其他并行处理操作等。
4、hive的端口号知道哪些?
hivesever2端口号:10000
Metastore端口号:9083
5、hive元数据默认存哪里?
hive元数据默认存储自带数据库里derby(德比),但是一般情况下都会存储在外部数据库 MySQL Oracle当中
6、hive的表存放在哪里?
hive表存放在hdfs当中
7、内部表和外部表的区别?
内部表:create table 删除表的时候,数据及元数据都会删除
外部表:create external table 只删除元数据,HDFS上的数据不会被删除
8、HDFS的启动命令是什么?
start-dfs.sh
9、YARN的启动命令是什么?
start-yarn.sh
HDFS、YARN共同启动:start-all.sh
10、YARN的调度策略有哪些?
FIFO调度:按照作业提交的顺序进行调度,先提交的作业获得资源。
公平调度:公平的分配给每一个正在运行的作业,以确保每个作业都能获得一定比例的资源。
容量调度:允许用户预先定义多个队列,每个队列都有自己的资源配额。
11、hadoop的端口号你了解有哪些?
HDFS:9870
NameNode:9870(Hadoop 3.x版本) IP通信端口:8020(用于内部节点通信)
YARN:8088
zooKeeper:2181
12、什么是闭包?(python)
在函数内部定义了另外一个函数并返回这个内部函数作为对象,同时还保存了外层函数的状态信息。
这个内部函数可以依赖外层函数的变量和参数,而且外层函数返回的是这个内部函数的引用。
这种函数内部定义函数并返回的方式形成了闭包。
13、如何查看linux内存大小和磁盘空间
查看内存情况:
free -h :显示文件系统内存使用情况
top:实时显示系统的资源使用情况,包括内存、CPU等 按Q退出
查看磁盘存储:
df -h:显示文件系统的磁盘空间利用情况
du -h:显示目录或文件的磁盘使用情况
14、vi/vim命令:
G:跳到文件最后一行
gg:跳到文件的第一行
yy:复制光标所在行的内容
nyy:复制光标所在行的后n行内容
p:在光标所在行的下一行粘贴内容
dd:删除光标所在行的内容
ndd:删除光标所在行往后n行内容
u:撤销上一步操作
i:进入插入模式
o:在当前行的下方插入新行,并进入插入模式
15、Linux如果跟的文件不存在能不能跑
可以跑。
举例:如果跟踪是程序运行过程中的文件操作,及时文件不存在,跟踪工具也会继续运行,并显示相关的系统调用失败的信息。
16、hive的开窗函数(开窗函数就是窗口函数)有哪些
窗口聚合函数:
sum(col) over() 分组累计求和
count(col) over() 分组累计
min(col) over() 分组求最小值
max(col) over() 分组求最大值
avg(col) over() 分组求平均值
窗口分析函数:
first_value(col) over() 分组排序后第一个col值
last_value(col) over() 分组排序后最后一个col值
lag(col,n,DEFAULT) 统计往前n行的值,n可选,默认为1,DEFAULT当往上第n行为NULL时候,取默认值,如不指定,则为NULL
lead(col,n,DEFAULT) 统计往后n行的值,n可选,默认为1,DEFAULT当往下第n行为NULL时候,取默认值,如不指定,则为NULL
ntile(n):(嗯题傲)用于将分组数据按照顺序切成n片,返回当前切片值。注意:n必须为int类型
窗口排序函数:
rank() over():排名函数 并列但是不连续 如:123356
dense_rank() over():排名函数 并列连续 如:123345
row_number() over():排名函数 不并列排序 如:123456
17、hive常用的优化方式有哪些?
分区表、分桶表、存储压缩、高效的查询语句
18、hive默认的执行引擎可以换吗?
可以换,默认引擎为MapReduce,但支持Tez、Spark
19、hive所有sql会不会全部走mapreduce,会不会都会走map
主要是取决查询的复杂程度和数据的处理请求。
只涉及Map阶段:select-from-where语句,用于读取和过滤,不需要进行跨节点的数据聚合。(只包含基础查询过滤的SQL)
需要发送到Reduce阶段:group by、order by、distinct、having等操作的SQL,需要跨节点的数据聚合或排序。(聚合和排序SQL)
20、HDFS默认存储大小?
默认存储为128M
如果有128.1M,会存储两块,但运行的时候会一起运行,因为有10%的向上幅度
如何看存储 去9870端口 webUI --> block 0/1/2
关注我!后续更新第二版!!
标签:200,存储,函数,分桶,over,hive,问答,col,有问必答 From: https://blog.csdn.net/lmb0222222/article/details/142517485