一、面试中linux常见的20个命令
1.查找文件
find / -name filename.txt
根据名称查找/目录下的filename.txt文件。
2.查看一个程序是否运行
ps –ef|grep tomcat
查看所有有关tomcat的进程
3.终止线程
kill -9 19979
终止线程号位19979的线程
4.查看文件,包含隐藏文件
ls -al
5.当前工作目录
pwd
6.复制文件包括其子文件到自定目录
cp -r sourceFolder targetFolder
7.创建目录
mkdir newfolder
8.删除目录(此目录是空目录)
rmdir deleteEmptyFolder
9.删除文件包括其子文件
rm -rf deleteFile
10.移动文件
mv /temp/movefile /targetFolder
扩展重命名 mv oldNameFile newNameFile
11.切换用户
su -username
12.修改文件权限
chmod 777 file.java
//file.java的权限-rwxrwxrwx,r表示读、w表示写、x表示可执行
13.压缩文件
tar -czf test.tar.gz /test1 /test2
14.列出压缩文件列表
tar -tzf test.tar.gz
15.解压文件
tar -xvzf test.tar.gz
16.查看文件头10行
head -n 10 example.txt
17.查看文件尾10行
tail -n 10 example.txt
18.查看日志文件
tail -f exmaple.log
//这个命令会自动显示新增内容,屏幕只显示10行内容的(可设置)。
19.启动Vi编辑器
vi
20.查看系统当前时间
date
命令会输出 周几 几月 几日 时间 和 时间显示格式 和年份
Sat Jan 20 04:39:49 CST 2018
date +"%Y-%m-%d"
显示如下:
[root@ming xxx]# date +"%Y-%m-%d" 2018-01-20
注: 这个我们如果不确定 就help 即可;
2019/04/04 新增命令:
21: 解压zip 文件
unzip -oq
2019/05/05新增命令:
22:查看线程个数(方便查看程序是否有误)
ps -Lf 端口号|wc -l
二、数据仓库的四大特征
1. 主题性
数据仓库是一般从用户实际需求出发,将不同平台的数据源按设定主题进行划分整合,与传统的面向事务的操作型数据库不同,具有较高的抽象性。面向主题的数据组织方式,就是在较高层次对分析对象数据的一个完整、统一并一致的描述,能完整及统一地刻画各个分析对象所涉及的有关企业的各项数据,以及数据之间的联系。
2.集成性
数据仓库中存储的数据大部分来源于传统的数据库,但并不是将原有数据简单的直接导入,而是需要进行预处理。这是因为事务型数据中的数据一般都是有噪声的、不完整的和数据形式不统一的。这些“脏数据”的直接导入将对在数据仓库基础上进行的数据挖掘造成混乱。“脏数据”在进入数据仓库之前必须经过抽取、清洗、转换才能生成从面向事务转而面向主题的数据集合。数据集成是数据仓库建设中最重要,也是最为复杂的一步。
3.稳定性
数据仓库中的数据主要为决策者分析提供数据依据。决策依据的数据是不允许进行修改的。即数据保存到数据仓库后,用户仅能通过分析工具进行查询和分析,而不能修改。数据的更新升级主要都在数据集成环节完成,过期的数据将在数据仓库中直接筛除。
4.动态性
数据仓库数据会随时间变化而定期更新,不可更新是针对应用而言,即用户分析处理时不更新数据。每隔一段固定的时间间隔后,抽取运行数据库系统中产生的数据,转换后集成到数据仓库中。随着时间的变化,数据以更高的综合层次被不断综合,以适应趋势分析的要求。当数据超过数据仓库的存储期限,或对分析无用时,从数据仓库中删除这些数据。关于数据仓库的结构和维护信息保存在数据仓库的元数据(Metadata)中,数据仓库维护工作由系统根据其中的定义自动进行或由系统管理员定期维护。
三、hive中外部表和内部表
内部表&外部表
未被external修饰的是内部表(managed table),被external修饰的为外部表(external table);
区别:
内部表数据由Hive自身管理,外部表数据由HDFS管理;
内部表数据存储的位置是hive.metastore.warehouse.dir(默认:/user/hive/warehouse),外部表数据的存储位置由自己制定;
删除内部表会直接删除元数据(metadata)及存储数据;删除外部表仅仅会删除元数据,HDFS上的文件并不会被删除;
对内部表的修改会将修改直接同步给元数据,而对外部表的表结构和分区进行修改,则需要修复(MSCK REPAIR TABLE table_name;)
四、hive中Order By和Sort By的区别
1、Order By
order by 排序出来的数据是全局有序的,但是只能有一个partition
2、Sort By
sort by 排序出来的数据是局部有序的,但是全局无序。即partition内部是有序的,但是partition与partition之间的数据时没有顺序关系的。
参考文献: