1.查看Hadoop安装目录
|
|
2.启动Hadoop
|
|
3.关闭Hadoop
|
|
HDFS
解决Call to localhost/127.0.0.1:9000 failed on connection exception错误
12hadoop namenode -format进入Hadoop安装目录后执行 sbin/start-dfs.shhdfs上新建文件夹
1hadoop dfs -mkdir /darrenhdfs上删除文件夹
1hadoop dfs -rm /darren本地文件推送到hadoop目录中
1hadoop dfs -put /Users/darrenfantasy/work/log /darren合并某个文件夹里的全部文件
1hadoop dfs -getmerge /darren/log /Users/darrenfantasy/work/result.txt
==============分析日志时用到的相关命令=============
将search.txt中包含“/gifs/search”,“/emojis/net/search”,“/stickers/search”的所在行筛选出来到result.txt中
1grep -E '/gifs/search|/emojis/net/search|/stickers/search' search.txt >result.txt批量解压gz文件
1for i in $(ls *.gz);do gzip -d $i;done去除解压后文件里的脏数据(如含”哈哈“和”呵呵“的都视为脏数据)
1for i in $(ls *);do grep -v '呵呵' $i | grep -v '哈哈' > $i.txt;done
MapReduce
MapReduce是一种编程模型,用于大规模数据集的并行运算。概念“Map(映射)”和“Reduce(归约)”是它们的主要思想。
Spark SQL
在Spark SQL中实现自定义函数
因为在开发中遇到想在执行SQL时多表查询两个表中时间相差5s以内的。但是数据库里的时间格式是’dd/MMM/yyyy:HH:mm:ss‘无法使用unix_timestamp函数将其转成时间戳,所以必须自己实现这个函数。
|
|
然后就可以直接在SQL语句里使用dateToTimeStamp这个函数了。
Spark 输入路径通配符(参考自 http://blog.csdn.net/sunnyyoona/article/details/53786397)
因为日志存储文件是按照日期分层组织的目录结构的,如下是文件列表
|
|
如果想读入17-19号的文件,则通配符为:2017/06/1[7-9]
19到20号,通配符为:2017/06/{19,20}