对apache 日志 IP 简单统计
运行环境
centos6.5 jdk1.8 spark1.6 scala-2.10.6
创建新项目 没有scala-sdk 的可以点Create 安装scala SDK
引入本地的scala 目录 点击 Browse
引入spark1.6目录下的lib的jar包
日志格式如下:
ip - - [datetime] "....." status ....
编写代码如下:
package z.test
import org.apache.spark.{SparkConf, SparkContext}
/**
* Created by z .
*/
object IPCount {
def main(args: Array[String]): Unit = {
val conf = new SparkConf().setMaster("local").setAppName("IPCount")
val sc = new SparkContext(conf);
val data = sc.textFile("file:///home/z/App/xxxx_access_apache.log")
data.map{line=>
val ip = line.split(" ")(0)
(ip)}.map((_,1)).reduceByKey(_+_).collect().foreach(println(_))
sc.stop()
}
}
输出:
(ip,count)
问题:
Spark 和 Scala 版本问题
我的用的spark2.0.x 和 scala-2.10.6 版本不对应
scala-2.10.6.tgz 与 spark-1.6.2-bin-hadoop2.6.tgz 对应
更多资讯关注公众号