spark极简入门

2017/7/20 11:45:03 人评论 次浏览 分类:大数据

1.windows上下载安装sbt

去sbt官网下载 sbt包,解压到指定目录,不需要安装。记得配置环境变量。

新建 SBT_HOME ,值是sbt包的解压路径,比如C:\Users\***\Tools\sbt-0.13.15\sbt(建议不要放在C盘)

并在path 中添加 %SBT_HOME%\bin

查看是否成功,命令行输入:  sbt sbtVersion 

2.在intellij idea中安装Scala插件

File -->Settings-->Plugins-->Scala-->install

这样就不用再本机安装Scala了

3.新建SBT project

File-->new-->project-->scala-->SBT

 

 

-->Next

注意版本对应:

                  Scala 2.10 ---Java7
                  Scala 2.12----java8

 可以在spark官网上查看,例如 spark 1.6.0:

  Spark runs on Java 7+, Python 2.6+ and R 3.1+. For the Scala API, Spark 1.6.0 uses Scala 2.10. You will need to use a compatible Scala version (2.10.x).

 

 

 

 -->finish.

4.编辑build.sbt

name := "sparkTest"

version := "1.0"

scalaVersion := "2.10.1"

libraryDependencies += "org.apache.spark" %% "spark-core" % "1.6.0" % "provided"

  

 5.简单的word count 代码

import org.apache.spark.SparkContext
import org.apache.spark.SparkContext._
import org.apache.spark.SparkConf
object App {
  def main(args:Array[String])={
    val logFile = "file:///home/hadoop/cy/README.md" // Should be some file on your system
    val conf = new SparkConf().setAppName("Simple Application")
    val sc = new SparkContext(conf)
    val logData = sc.textFile(logFile, 2).cache()
    val numAs = logData.filter(line => line.contains("a")).count()
    val numBs = logData.filter(line => line.contains("b")).count()
    println("Lines with a: %s, Lines with b: %s".format(numAs, numBs))
  }
} 

 5.打包运行

 命令行中进入project所在目录下,执行sbt package ,生成的jar包会出现在: <project path>/target/scala-2.10/sparktest_2.10-1.0.jar 。将jar包传到装有spark 1.6.0的机器上,运行 ./bin/spark-submit sparktest_2.10-1.0.jar。

 

哈哈极简试水版,欢迎纠错指正~~~~~~

 

相关知识

  • SparkStreaming与Kafka整合遇到的问题及解决方案

    前言 最近工作中是做日志分析的平台,采用了sparkstreaming+kafka,采用kafka主要是看中了它对大数据量处理的高性能,处理日志类应用再好不过了,采用了sparkstreaming的流处理框架 主要是考虑到它本身是基于spark核心的,以后的批处理可以一站式服务,并且可以提供准实时服…

    2017/7/20 11:45:03
  • Redis精华

    Redis的复制功能是完全建立在之前我们讨论过的基于内存快照的持久化策略基础上的,也就是说无论你的持久化策略选择的是什么,只要用到了redis的复制功能,就一定会有内存快照发生,那么首先要注意你的系统内存容量规划,原因可以参考我上一篇文章中提到的Redis磁盘IO问题。R…

    2017/7/20 11:45:03
  • 快速搭建 ELK + OpenWAF 环境

    摘要: OpenWAF是第一个全方位开源的Web应用防护系统; ELK 是比较火的开源日志分析系统; 本节主要介绍,ELK 的 docker 部署及与 OpenWAF 的结合 OpenWAF简介 OpenWAF是第一个全方位开源的Web应用防护系统(WAF),他基于nginx_lua API分析HTTP请求信息。OpenWAF由行为分析引擎…

    2017/7/20 11:45:03
  • 魔盒——日拱一卒,功不唐捐把

    郑昀 创建于2017/6/29 最后更新于2017/6/30关键词:大数据,Spark,SparkSQL,HBase,HDFS,工作流,任务,Flow,Job,监控报警提纲:为什么要大数据协作?什么是愿景?我们的DataCube工作流什么样?DataCube 是数据中心刘奎组推出的大数据协作平台。从2016年3月29日我提出数…

    2017/7/20 11:45:03

共有访客发表了评论 网友评论

验证码: 看不清楚?