菜鸟总结
最近意外参加了两个比赛,都是需要用到远程主机,之前从来未接触过这一块,linux完全零基础,还有一个比赛数据部署在远程主机的hadoop的hive数据库里边。感谢21世纪发达的网络,所以想写篇博客把这些菜鸟经验总结一下。
1、远程登录工具:(分享两个64位的远程工具,当然百度一下也都有)
1.1 xshell
链接:http://pan.baidu.com/s/1o8HosqQ 密码:pqhz
1.2 SecureCrt
链接:http://pan.baidu.com/s/1i53lqTZ 密码:jht2
2.linux基本操作指令:(我最近用到的)
ls 查看目录中的文件;
ls *[0-9]* 显示包含数字的文件名和目录名
ll 列举文件夹,同时展示文件夹格式及大小,很规整,建议使用这个命令;
cd /data 进入‘/data’目录
cd .. 返回上一级目录(进阶版:cd ../.. 返回上两级目录)
pwd 显示当前工作路径
mkdir data_1 创建一个叫做data_1的目录
bunzip file.bz2 解压一个叫做‘file.bz2’的文件
bzip file1 压缩一个叫做file1的文件
gunzip file1.gz 解压一个叫做file1.gz 的文件
unzip file.zip 解压一个zip格式压缩包
cat file 从第一个字节开始正向查看文件内容;
head -2 file 查看一个文件的前两行
tail -2 file 查看一个文件的最后两行
exit 退出
推荐一个好玩的网站,可以查到很多linux命令:
3.hadoop中hive(主要介绍创表和把表的数据导出到主机上)
3.1创表:创建外部表
create external table table_1(
ziduan1 bigint,
ziduan2 string) ----字段
partitioned by(deal_year string,deal_month string,deal_day string) ----可根据需求来建立分区
row format delimited
fields terminated by ',' -----根据你文件来设置分隔符
lines terminated by '\n'
stored as TEXTFILE
location '路径/table_1';
3,2 往表里边添加数据:
alter table table_1 add partition(deal_year = 2017,deal_month =05,deal_day = 01) location '文件路径';
3.3 把外部表的数据生成到指定文件夹
hive -e "set mapreduce.job.queuename = hadoop;
use user_name;set hive.mapred.mode = nonstrict;
select * from table_1 -----中间这段
where deal_year=2017
and deal_month=05
and deal_day=01
and action_code >0" >>data/table_1.txt
3.4 xshell没有研究过,但是securecrt把数据从远程主机导到本地真的很方便。一条命令搞定
进入指定目录后,输入 :sz table_1.txt
把本地机器的数据上传到远程主机也是一样设置。
命令是:rz
记得导出之前先设定本地的存储路径:设置方法如下