Linux常用命令
cd 切换目录 ./ 当前目录 .. / 上级目录 ~用户目录
ls 查看目录 -a列出目录下所有文件和目录 -l详细显示目录下所有文件和目录
mkdir 创建目录
cp 复制文件 -r递归复制
mv 更改文件名或移动目录
rm 删除文件
cat 显示文件内容
touch 创建文件
echo 回显
clear 清屏
source 执行脚本
tar -c压缩 -x解压 -f指定文件名称 -z通过gzip压缩或解压文件 -v显示压缩或解压文件过程 -C 改变解压目录,默认为当前目录
vim 文本编辑器 i插入模式 v可视模式 esc正常模式 :w保存 :q退出 :q! 强制退出 正常模式下dd删除一行 :set number显示行号
ip addr show 查看ip地址
ssh user 连接远程主机
ssh-keygen -b 4096 创建大小为4096位的密钥
ssh-copy-id user@hostname 将本机的公钥复制给远程主机
zip 压缩 -r递归压缩目录 例子:zip -r archive.zip folder1/ folder2/
unzip 解压 -d指定解压目录
scp 远程复制 例子:scp /path/file user@host:/path/
apt apt软件
install 安装软件包
remove 卸载软件包
update 更新本地软件包列表
upgrade 升级已安装的软件包
search 搜索可用的软件包
show 显示软件包的详细信息
export 显示变量
jps 列出当前系统所有Java进程
netstat -tuln | grep [ port] 查找特定端口是否被监听
netstat -tunlp 显示系统网络连接、路由表和网络接口信息
pwd 输出当前路径
realpath 输出路径
tab tab 提示补全
tab 补全
ping 测试连接
type 查看该命令来自哪里
Linux目录
/etc/hosts 配置ip
/etc/profile 配置环境变量
/opt/software 比赛软件包位置
/opt/module 比赛解压软件包位置
~/.ssh 创建公钥密钥的保存位置
/conf/ 配置文件
Linux配置
关于网络配置 编辑ifcfg-ens33文件
vim /etc/sysconfig/network-scripts/ifcfg-ens33
IPADDR = ip地址
GATEWAY = 网关地址
NETMASK = 255.255 .255.0
DNS1 = 8.8 .8.8
DNS2 = 114.114 .114.114
重启网络服务
service network restart
查看防火墙状态
firewall-cmd --state
停止防火墙服务
systemctl stop firewalld.service
禁止防火墙开机自启
systemctl disable firewalld.service
在基于yum包管理工具的Linux系统中安装Network Time Protocol服务
yum install ntp -y -y表示在安装过程中自动回答yes
通过NTP协议从指定的NTP服务器同步时间
ntpdate -u time.windows.com -u表示使用无特权端口(大于1024的端口)
Hadoop及其组件
Hadoop( HDFS) 分布式文件系统
Hadoop( MapReduce) 分布式计算框架
Yarn 资源管理
Spark on Yarn 基于内存计算的大数据处理框架
Flink on Yarn 流式数据处理框架
Flume 分布式日志收集系统
HBase 分布式NoSQL数据库,用于实时读写大规模数据集
Hive 基于Hadoop的数据仓库工具
Hudi 管理和处理大规模数据湖中变化的数据
ZooKeeper 分布式协调服务
Kafka 分布式消息队列系统
Sqoop Hadoop和关系型数据库之间进行数据传输工具
Hadoop及其模块常用命令
启动Hadoop
start-all.sh
start-dfs.sh NameNode名称节点 DataNode数据节点 SecondaryNameNode辅助
start-yarn.sh ResourceManager资源管理器 NodeManager节点管理器
停止Hadoop
stop-all.sh
stop-dfs.sh
stop-yarn.sh
HDFS文件操作
hdfs dfs -ls < path> 查看HDFS文件列表
hdfs dfs -mkdir < path> 创建目录
hdfs dfs -put < localFile> < hdfsPath> 上传文件到HDFS
hdfs dfs -get < hdfsPath> < localPath> 从HDFS下载文件
hdfs dfs -rm < path> 删除文件或目录
Hadoop配置相关命令
hdfs dfsadmin -report 检查HDFS健康状态
hdfs namenode -format 格式化NameNode
Yarn提交应用程序
yarn jar < your-jar-file> < main-class> [ args] 提交MapReduce应用程序
spark-submit --master yarn [ other options] 提交Spark应用程序
flink run -m yarn-cluster [ other options] 提交Flink应用程序
查看zookeeper状态
zkServer.sh status
启动zookeeper
zkServer.sh start
查看MySQL服务状态
sudo service mysql status
启动MySQL服务
sudo service mysql start
启动hive的元数据存储服务
hive --service metastore&
启动hive服务器服务
hive --service hiveserver2
查看clickhouse状态
service clickhouse-server status
启动clickhouse
service clickhouse-server start
使用sqoop工具,将MySQL中的数据导入到hdfs指定目录
sqoop import \
--connect jdbc:mysql://localhost:3306/databasename \
--username myuser \
--password mypass \
--table mytable \
--target-dir /path/ \
--fields-terminated-by ','
加载hdfs数据到hive表
load data inpath 'path' into table hive_table partition( etl_date= 'partition_value' )
创建hive表并指定字段之间以',' 分隔
CREATE TABLE hive_table(
column1 INT,
column2 STRING,
.. .
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
创建关于MySQL表视图到spark sql
CREATE TEMPORARY VIEW tmp
using org.apache.spark.sql.jdbc
options(
url 'jdbc:mysql://127.0.0.1:3306/shtd_store?useSSL=false&useUnicode=true&characterEncoding=utf8' ,
| dbtable 'table' ,
| user 'root' ,
| password '123456'
)
关于spark显示中文乱码
spark.conf.set( "spark.driver.extraJavaOptions" ,"-Dfile.encoding=utf-8" )
spark.conf.set( "spark.executor.extraJavaOptions" ,"-Dfile.encoding=utf-8" )
关于hive严格动态分区
spark.conf.set( "spark.sql.hive.exec.dynamic.partition.mode" ,"nonstrict" )
关于spark插入数据成功但hive不显示
spark.conf.set( "spark.sql.parquet.writeLegacyFormat" ,"true" )
指定hudi数据库位置
spark.conf.set( "spark.hudi.com.bjie09.data.source.warehouse.path" ,"hdfs://<hdfs_path>/hudi_data" )
指定hive数据库位置
spark.conf.set( "spark.sql.warehouse.dir" ,"hdfs://<hdfs_path>/warehouse" )
指定Spark SQL的元数据存储实现方式为hive
spark.conf.set( "spark.sql.catalogImplementation" ,"hive" )
关于查询hive库中数据没有表头
set hive.cli.print.header = true
关于hive执行内存不足
set hive.exec.mode.local.auto = true
关于hive中插入数据失败
set hive.stats.autogather = false
查看hivecli中当前用户
select current_user( )
查看hivecli中管理员用户
select current roles
spark.sql中使用的函数或关键字
DISTINCT去除
GROUP BY分组
ORDER BY全局排序
BETWEEN AND区间
UNION ALL连接两个查询
( LEFT、RIGHT、INNER) JOIN ON连接两张表
求中位数值(聚合函数)
PERCENTILE_CONT WITHIN GROUP( ORDER BY )
求接近中位数的字段(聚合函数)
PERCENTILE_DISC WITHIN GROUP( ORDER BY )
格式化时间戳
FROM_UNIXTIME( time, 'yyyy-MM-dd' )
将日期转化为时间戳
UNIX_TIMESTAMP( time)
格式化字符串或时间戳为指定字符串格式
DATE_FORMAT( time, 'yyyy-MM-dd' )
拼接字符串
CONCAT( ',' , string, ',' )
指定字符串拼接
CONCAT( ',' , string)
将一整列数据收集到一个列表(聚合函数)
COLLECT_LIST( value)
绝对值
ABS( value)
求和(聚合函数)
SUM( value)
计数(聚合函数)
COUNT( value)
以name分区,score降序,给予编号
ROW_NUMBER( ) OVER( PARTITION BY name ORDER BY score DESC)
以score降序,给予排名,考虑并列情况
DENSE_RANK( ) OVER( ORDER BY score)