sql

1.SQL语句类别

SQL 语句主要可以划分为以下 3 个类别。

DDL(Data Definition Languages)语句:数据定义语言,这些语句定义了不同的数据段、数据库、表、列、索引等数据库对象的定义。常用的语句关键字主要包括 create、drop、alter等。

DML(Data Manipulation Language)语句:数据操纵语句,用于添加、删除、更新和查询数据库记录,并检查数据完整性,常用的语句关键字主要包括 insert、delete、udpate 和select 等。(增添改查)

DCL(Data Control Language)语句:数据控制语句,用于控制不同数据段直接的许可和访问级别的语句。这些语句定义了数据库、表、字段、用户的访问权限和安全级别。主要的语句关键字包括 grant、revoke 等。

2.sql语句执行顺序

https://www.cnblogs.com/Qian123/p/5669259.html

https://www.cnblogs.com/Qian123/p/5669259.html

https://cloud.tencent.com/developer/article/1600323

1
2
3
4
5
6
7
8
1、from子句组装来自不同数据源的数据;
2、where子句基于指定的条件对记录行进行筛选;
3、group by子句将数据划分为多个分组;
4、聚合函数进行计算;
5、having子句筛选分组;
6、计算所有的表达式;
7、select字段;
8、order by对结果集进行排序。

感觉好像先select后having

Atlas

1.概述

Apache Atlas为组织提供开放式元数据管理和治理功能,用以构建其数据资产目录,对这些资产进行分类和管理,并为数据分析师和数据治理+团队,提供围绕这些数据资产的协作功能。

2.Atlas的具体功能

元数据分类 支持对元数据进行分类管理,例如个人信息,敏感信息等
元数据检索 可按照元数据类型、元数据分类进行检索,支持全文检索
血缘依赖 支持表到表和字段到字段之间的血缘依赖,便于进行问题回溯和影响分析等

1)表与表之间的血缘依赖

2)字段与字段之间的血缘依赖

3.Atlas架构原理

4.使用

4.1 Hive元数据初次导入

操作:

Atlas提供了一个Hive元数据导入的脚本,直接执行该脚本,即可完成Hive元数据的初次全量导入。

/opt/module/atlas/hook-bin/import-hive.sh

问题:

Failed to import Hive Meta Data!!!

注意:hive —service metastore &

4.2 Hive元数据增量同步

Hive元数据的增量同步,无需人为干预,只要Hive中的元数据发生变化(执行DDL语句),Hive Hook就会将元数据的变动通知Atlas。除此之外,Atlas还会根据DML语句获取数据之间的血缘关系。

元数据管理

元数据

https://www.ruanyifeng.com/blog/2007/03/metadata.html#

https://dataedo.com/kb/data-glossary/what-is-metadata

https://www.cnblogs.com/alight/p/3982086.html

Metadata is simply data about data. It means it is a description and context of the data. It helps to organize, find and understand data. Here are a few real world examples of metadata:

Those are some typical metadata elements:

  1. Title and description
  2. Tags and categories
  3. Who created and when
  4. Who last modified and when
  5. Who can access or update

元数据管理

https://zhuanlan.zhihu.com/p/336504407

元数据管理工具

atlas

hive

Ranger

架构

Ranager的核心是Web应用程序,也称为RangerAdmin模块,此模块由管理策略,审计日志和报告等三部分组成。

管理员角色的用户可以通过RangerAdmin提供的web界面或REST APIS来定制安全策略。这些策略会由Ranger提供的轻量级的针对不同Hadoop体系中组件的插件来执行。插件会在Hadoop的不同组件的核心进程启动后,启动对应的插件进程来进行安全管理!

Ranger对Hive进行权限管理

https://www.jianshu.com/p/d9941b8687b7

常见操作

软连接

https://www.cnblogs.com/sueyyyy/p/10985443.html#

当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在其它的 目录下用ln命令链接(link)就可以,不必重复的占用磁盘空间。

ln -s source_path target_path

例子:ln -s /home/atguigu/bin/ ~/bin

互信

https://blog.csdn.net/chenghuikai/article/details/52807074

(1)hadoop102上生成公钥和私钥:

[atguigu@hadoop102 .ssh]$ ssh-keygen -t rsa

然后敲(三个回车),就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)

(2)将hadoop102公钥拷贝到要免密登录的目标机器上

[atguigu@hadoop102 .ssh]$ ssh-copy-id hadoop102

[atguigu@hadoop102 .ssh]$ ssh-copy-id hadoop103

[atguigu@hadoop102 .ssh]$ ssh-copy-id hadoop104

chmod

修改权限

chmod u+x lg.sh

https://blog.csdn.net/u013197629/article/details/73608613

rsync

集群分发文件

1.编写脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/bin/bash
#1. 判断参数个数
if [ $# -lt 1 ]
then
echo Not Enough Arguement!
exit;
fi
#2. 遍历集群所有机器
for host in hadoop102 hadoop103 hadoop104
do
echo ==================== $host ====================
#3. 遍历所有目录,挨个发送
for file in $@
do
#4 判断文件是否存在
if [ -e $file ]
then
#5. 获取父目录
pdir=$(cd -P $(dirname $file); pwd)
#6. 获取当前文件的名称
fname=$(basename $file)
ssh $host "mkdir -p $pdir"
rsync -av $pdir/$fname $host:$pdir
else
echo $file does not exists!
fi
done
done

2.修改脚本xsync具有执行权限

1
chmod +x xsync

环境变量

https://blog.csdn.net/white_idiot/article/details/78253004

根目录下各个文件夹的作用

https://blog.51cto.com/u_14233078/2443062

如何让你的脚本可以在任意地方都可执行?

https://www.cnblogs.com/yychuyu/p/12918957.html

jps

https://blog.csdn.net/wangzhongshun/article/details/112546027

不过jps有个缺点是只能显示当前用户的进程id,要显示其他用户的还只能用linux的ps命令

scp

scp -r root@hosts : addr ./

tar

https://www.cnblogs.com/w54255787/p/10175202.html

压缩

tar -czvf XXX.tar.gz XXX

解压

tar -xzvf XXX.tar.gz

zip

压缩

zip -r -q XXX.zip XX XX

解压

unzip XXX.zip

用户和用户组

https://www.jianshu.com/p/1e3fcfc8e3ef

sudo chown XX:XX dir or file

cd

root用户也是用户,就是权限高于普通用户

cd -: 上一次的目录

cd ~ :回到当前用户目录

cd /:回到根目录

软件安装

1.离线安装

2.在线安装

1.yum

yum源配置

1.查看系统版本

cat /proc/version

2.找到对应配置

3.修改配置

vim /etc/yum.repos.d/XXX.repo

4.

yum clean

yum makecache

yum update

安装

yum install XX

2.apt-get

hexedit

16进制编辑

taskset

绑核

stat

查看修改文件状态

wget

wget http:XXX

grep

过滤文件内容

本机免密

vim /etc/sudoers

添加 用户名 ALL=(ALL) NOPASSWD:ALL

history

查看历史

find

查找文件

find path -name filename

sed

输出文件某行

sed -n “1,1p” filename

切换用户

普通用户切换root sudo -i

root切换某个用户 su username

清理内存缓存

root用户

echo 3 > /proc/sys/vm/drop_caches

diff

diff file1 file2

http代理

unset http_proxy

unset https_proxy

搜索输入过的命令

ctrl+r

查看进程

ps -ef | grep processname

查看磁盘

df -h

df -h dir

关闭终端继续执行命令

nohup cmd > XX.log &

md5

md5sum file

echo -n “string” | md5sum

sha256

sha256sum file

统计数量

cmd | wc -l

联想敲过的命令

PU键

批量杀死进程

ps -ef | grep “process name” |grep -v grep | cut -c 9-16 | xargs (sudo) kill -9

cat

cat file.txt

head tail

head/tail -f filename

head/tail -100 filename

> , >>

重定向到一个文件

> 覆盖

>> 追加

查看内存,cpu 占用前几的进程

ps aux | sort -nrk 3,3 | head -n 5

ps aux | sort -k4nr | head -n 5

查看文件大小

ls -al

du -sh file

curl

请求服务器

设置简写命令

比如 cd /XXX/XXX/XXX 用一个 hlw 代替

awk

查看进程的工作目录

pwdx pid

查看端口使用情况

netstat -nlp | grep port

bashrc

用户登录时自动执行的shell脚本

source

使刚修改的脚本立即生效,不用重新打开终端

export

设置环境变量

磁盘挂载,卸载

df -h 会显示 文件系统 挂载点

1 卸载

umount 挂载点

2 挂载

mount 文件系统 挂载点

设置开机自动挂载

Hadoop in Secure Mode

https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SecureMode.html#:~:text=When%20Hadoop%20is%20configured%20to,or%20%2Fetc%2Fhosts%20files.

This document describes how to configure authentication for Hadoop in secure mode.

By default Hadoop runs in non-secure mode in which no actual authentication is required.By configuring Hadoop runs in secure mode, each user and service needs to be authenticated by Kerberos in order to use Hadoop services.

hadoop SafeMode

https://blog.csdn.net/bingduanlbd/article/details/51900512

https://developer.aliyun.com/article/566059#

https://hadoop.apache.org/docs/r2.4.1/hadoop-project-dist/hadoop-hdfs/HdfsUserGuide.html#Safemode

During start up the NameNode loads the file system state from the fsimage and the edits log file. It then waits for DataNodes to report their blocks so that it does not prematurely start replicating the blocks though enough replicas already exist in the cluster. During this time NameNode stays in Safemode. Safemode for the NameNode is essentially a read-only mode for the HDFS cluster, where it does not allow any modifications to file system or blocks. Normally the NameNode leaves Safemode automatically after the DataNodes have reported that most file system blocks are available. If required, HDFS could be placed in Safemode explicitly using bin/hadoop dfsadmin -safemode command. NameNode front page shows whether Safemode is on or off. A more detailed description and configuration is maintained as JavaDoc for setSafeMode().

安全模式是HDFS所处的一种特殊状态,在这种状态下,文件系统只接受读数据请求,而不接受删除、修改等变更请求。在NameNode主节点启动时,HDFS首先进入安全模式,DataNode在启动的时候会向namenode汇报可用的block等状态,当整个系统达到安全标准时,HDFS自动离开安全模式。如果HDFS出于安全模式下,则文件block不能进行任何的副本复制操作,因此达到最小的副本数量要求是基于datanode启动时的状态来判定的,启动时不会再做任何复制(从而达到最小副本数量要求)


:D 一言句子获取中...