Linux基础类
nohup python test.py &>nohup.out &
就是把执行python test.py中间的log文件存放到nohup.out里面了。& 代表后台执行
cat test.txt
就是把text内容print到终端上
tail -f nohup.out
可以看log实时输出
print >> sys.stderr, line
MR中想要print东西来debug,可以用print的重定向到stderr。 然后print(line)的结果就重定向到stderr。
Hadoop类
- hadoop fs -ls /user/jd_ad/wangpei939查看自己的文件夹下面列表
- hadoop fs -cp source目录(hdfs的目录) 云端本地目录
- hadoop fs -mkdir 名字 创建文件夹
- gunzip -c xxx.gz > test.txt 解压gz到当前目录下的test.txt
- mv [选项] 源文件或目录 目标文件或目录
- hadoop job -kill jobid
alias hls=’hadoop fs -ls’
alias hget=’hadoop dfs -get’ [hadoop文件目录] [本地目录]
alias hrm=’hdfs dfs -rm’
alias hrmr=’hdfs dfs -rmr’
alias hmk=’hdfs dfs -mkdir’
alias hnew=’hdfs dfs -touchz’
alias hmv=’hdfs dfs -mv’ 【hadoop文件位置/文件名】 【hadoop新文件位置/新文件名】
alias hkill=’hadoop job -kill jobid’
hive类
hive进入hive模式 exit; 退出hive模式
展示
hive> use ad_search;
hive> show tables;
hive> show databases like “w.*”; #正则匹配
建表
hive建表:在local目录下 vim test_wangpei.hql
按i进入insert模式,输入下面的内容
use ad_search;
create table test_wangpei(
id INT,
number FLOAT,
someStrings STRING)
row format delimited
fields terminated by ‘\t’ lines terminated by ‘\n’
stored as textfiles;
按esc退出insert模式,然后输入:wq保存退出
hql的执行
如果写了一段hql的代码(如上面建立表的代码村委test.hql),一定要在前面加上use ad_search;
然后不需要进入hive模式,直接 hive -f test.hql (比如建一个表格 以及其他操作),这样就执行了建表操作
导入表
有了表了,现在需要把数据导入进去,且你的表在ad_search下创建的话
hive> use ad_search;
hive> load date local inpath ‘当前目录下的文件’ into table test_wangpei
hive> select * from test_wangpei limit 10
查询其他大表,把查询输入传入指定目录
use ad_search;
set mapred.max.split.size=3072000000;
set mapred.min.split.size=2048000000;
set mapred.min.split.size.per.node=2048000000;
set mapred.min.split.size.per.rack=2048000000;
set mapreduce.jobtracker.split.metainfo.maxsize=20000000;
set hive.exec.reducers.bytes.per.reducer=500000000;
set hive.exec.reducers.max=40090;
INSERT OVERWRITE DIRECTORY ‘${hiveconf:target_path}’
row format delimited fields terminated by ‘\t’
后面就是一堆select操作