您的位置:首页 > 运维架构 > Apache

scala 编写 ip count 对apache 日志 IP 简单统计

2016-12-01 16:28 357 查看
对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 对应

更多资讯关注公众号

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  scala spark