欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

shell/hadoop/hive一些有用命令收集

程序员文章站 2022-04-16 17:52:13
...

有些命令工作中经常用到,记录在一个文章里用于查阅,本文经常更新。 shell命令 linux统计某个目录下所有文件的行数的命令 find /home/crazyant -type f -name "*" | xargs cat | wc -l 用find查找crazyant目录下所有文本文件的行数之和。不过该命令执行挺慢

有些命令工作中经常用到,记录在一个文章里用于查阅,本文经常更新。

shell命令

linux统计某个目录下所有文件的行数的命令
find /home/crazyant -type f -name "*" | xargs cat | wc -l

用find查找crazyant目录下所有文本文件的行数之和。不过该命令执行挺慢的。

linux统计某个目录下所有目录和总目录的大小命令
du -h --max-depth=1 /home/crazyant/

统计crazyant目录下的所有文件的大小,这里我只想看到一层目录的大小,因此加上了—max-depth=1如果不加这个参数,该命令会以递归的方式列出所有子目录的文件大小

scp命令的使用:

从本地复制到远程:scp -r ?logs_jx pss@crazyant.net/home/pss/logs

hive命令

hive建立和执行索引
create index table02_index on table table02(id) as 'org.apache.hadoop.hive.ql.index.compact.CompactIndexHandler' with deferred rebuild; 
alter index table02_index on table02 rebuild;

第一句hive在表上建立了索引但没有生效,第二句真正的执行建立索引的过程,其本身也是一个map –reduce过程。

hive的Load data命令
hive -e "
	use crazyant_net; 
	LOAD DATA INPATH '/app/crazyant/student/*' INTO TABLE student;"

其中inpath的意思是input path的意思,所以不管是从本地local还是hdfs上load data,都要带上。

hadoop命令

hadoop的distcp命令带用户名密码的方法
hadoop distcp -su user1,pass1 -du user1,pass1 hdfs://src1 hdfs://dest1

有时候两个集群之间是没有distcp权限的,这时候需要带上两个集群的账号密码,在-su后面带上第一个集群的账号密码,在-du后面带上目标集群的账号密码。

Mysql命令

?查看数据表的最详细的字段描述信息
SHOW FULL FIELDS FROM student

该命令把注释、权限、默认值、类型等表字段信息都列出来了。

查看正在执行的mysql线程

mysql> show processlist;

+———+———–+——————–+————-+———+——+——-+——————+

| Id????? |??? User?? | Host?????????????? | db????????? | Command | Time | State | Info???????????? |

+———+———–+——————–+————-+———+——+——-+——————+

| 2153201 | crazyant? | 127.0.0.1:25357??? | pulse?????? | Sleep?? |? 914 |?????? | NULL???????????? |

| 2153733 | crazyant? | 127.0.0.1:48814??? | hive??????? | Query?? |??? 0 | NULL? | show processlist |

| 2153735 | crazyant? | 127.0.0.1:39639??? | pulse?????? | Sleep?? |?? 13 |?????? | NULL???????????? |

| 2153736 | crazyant? | 127.0.0.1:39640??? | pulse?????? | Sleep?? |?? 13 |?????? | NULL???????????? |

+———+———–+——————–+————-+———+——+——-+——————+

4 rows in set (0.01 sec)

mysql>

使用kill命令可以把其中的一个进程给删了

mysql> kill 2153474;

Query OK, 0 rows affected (0.00 sec)

将数据LOAD到MYSQL的方法:

LOAD DATA LOCAL INFILE ‘D:/workbench/python/result.txt’ REPLACE INTO TABLE my_urlvisit FIELDS TERMINATED BY’\t’ LINES TERMINATED BY’\n’ IGNORE 0 LINES (url,pdate,COUNT);

vim命令

如果编辑错误,按ESC回到命令模式,按u可以撤销刚才的编辑;

vim编辑中文文本出现乱码

VIM的文本经常会出现中文乱码,这是因为fileencoding和termencoding编码不一致造成的,设置一直就可以了;

:set termencoding

termencoding=cp936

:set fileencoding

fileencoding=utf-8

:set termencoding=utf8

这样设置一下vim就能正常显示中文了;

转载请注明来源:http://www.crazyant.net/1209.html