攻城狮科学家

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

——安装hadoop参考这篇blog:

http://www.cnblogs.com/lanxuezaipiao/p/3525554.html?__=1a36

后面产生的问题,slave和master的version number不一样,也要同时改成一样


——从数据库里面拿数据,因为没有找到PigStorage以多种分隔符分隔的方法,只好先从数据库里用sql先筛选好。

mysql -u * -p*

show databases;

use gwr;

show tables;

select * from AccountStats into outfile '/tmp/test.csv';

select * from AccountStats where StatsType like "EON_SH.heatinghours" into outfile '/tmp/heatinghours.csv' fields terminated by ',';
select * from AccountStats where StatsType like "EON_SH.hotwaterhours" into outfile '/tmp/hotwaterhours.csv' fields terminated by ',';


 

命令整合:

mysql -u greenwave -pgreen4irvine gwr -e 'select * from AccountStats';

ssh -i ~/.ssh/eon-dev.rsa root@* "mysql -u greenwave -pgreen4irvine gwr --skip-column-names -e 'select * from AccountStats where StatsType like \"EON_SH.heatinghours\"; ' " >> /home/hduser/Code/Pig/hadoop/data.csv      // 保存远程sql产生的文件到本地,不要表头

 

——把产生的csv移动到本地的命令

ssh -i ~/.ssh/eon-dev.rsa root@*
scp -i ~/.ssh/eon-dev.rsa root@*:/tmp/test.csv .


——把筛选好的csv 文件放到hadoop的hdfs系统中。(hdfs系统和操作系统类似,只不过是一个虚拟系统)

hdfs系统文件操作命令如下:

http://blog.csdn.net/bigdatahappy/article/details/10068881

http://hadoop.apache.org/docs/r1.0.4/cn/hdfs_shell.html

http://www.cnblogs.com/gpcuster/archive/2010/06/04/1751538.html

 在本次工作中,命令如下:

hadoop dfs -mkdir data

在hdfs上的/user/hduser下新建data文件夹,储存data

hadoop dfs -copyFromLocal /home/hduser/Code/Pig/hadoop/heatinghours.csv /data/heatinghours.csv

注意,本地文件必须写全路径名,hdfs的路径相当于root是在/user/hduser/这个虚拟路径下的。  

从hdfs系统取出data

hadoop fs -get /user/hduser/out/part-r-00000 /home/hduser/Code/Pig/hadoop/results.csv


解决pid的问题:

http://blog.sina.com.cn/s/blog_6d932f2a0101fsxn.html

解决hadoop的NameNode启动异常--java.io.IOException: could only be replicated to 0

如果重启电脑之后再启动hadoop,namenode没起来。删除slave和master下的tmp,再建tmp,再在master下执行hadoop namenode -format

 

posted on 2015-10-16 17:03  攻城狮科学家  阅读(171)  评论(0编辑  收藏  举报