您的位置:首页 > 大数据

Spark快速大数据分析之第二章Spark 下载与入门

2017-07-14 15:05 471 查看

2.1Spark下载与安装

JDK的安装

JDK的版本最好是1.8以上,使用的是ubuntu系统

安装源

        sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update

安装jdk
sudo apt-get install oracle-java8-installer
sudo update-java-alternatives -s java-8-oracle

测试java -version
javac -version

    注:JDK的默认安装目录为:JAVA_HOME="/usr/lib/jvm/java-8-oracle"

Spark的安装

spark的下载网址是:http://spark.apache.org/downloads.html

选择需要的版本下载,最好下载预编译版(prebuilt)

对spark进行解压,即完成了安装。

减少日志信息输出,每次打开spark会输出一大堆提醒信息,为了减少输出,降低安全等级

        进入conf文件夹复制log4j.properties.template副本到conf目录

        并改名log4j.properties

        打开log4j.properties修改log4j.rootCategory=INFO, console为log4j.rootCategory=WARN, console

Spark的打开

ipython_notebook打开spark

        进入spark目录,在终端输入PYSPARK_DRIVER_PYTHON=ipython PYSPARK_DRIVER_PYTHON_OPTS='notebook' ./bin/pyspark

python打开spark

        进入spark目录终端输入bin/pyspark

直接打开Spark_shell

        进入spark目录终端输入./bin/spark_shell

Spark的简单应用

RDD 是 Spark 对分布式数据和计算的基本抽象,也就是说Spark中的数据类型就是RDD

统计行数scala> val lines = sc.textFile("README.md") // 创建一个名为lines的RDD
lines: spark.RDD[String] = MappedRDD[...]
scala> lines.count() // 统计RDD中的元素个数
res0: Long = 127
scala> lines.first() // 这个RDD中的第一个元素,也就是README.md的第一行
res1: String = # Apache Spark


一个独立应用:单词统计

Spark中程序的执行需要多个节点共同完成,,其中包含一个驱动器和多个执行器,驱动器程序一般要管理多个执行器(executor)节点



初始化 SparkContext
import org.apache.spark.SparkConf
import org.apache.spark.SparkContext
import org.apache.spark.SparkContext._
val conf = new SparkConf().setMaster("local").setAppName("wordCount")
val sc = new SparkContext(conf)
展示了创建 SparkContext 的最基本的方法,你只需传递两个参数:

        • 集群 URL:告诉 Spark 如何连接到集群上。在这几个例子中我们使用的是 local,这个

        特殊值可以让 Spark 运行在单机单线程上而无需连接到集群。

        • 应用名:在例子中我们使用的是 My App。当连接到一个集群时,这个值可以帮助你在

        集群管理器的用户界面中找到你的应用。

// 读取我们的输入数据
val input = sc.textFile(inputFile)
// 把它切分成一个个单词
val words = input.flatMap(line => line.split(" "))
// 转换为键值对并计数
val counts = words.map(word => (word, 1)).reduceByKey{case (x, y) => x + y}
// 将统计出来的单词总数存入一个文本文件,引发求值
counts.saveAsTextFile(outputFile)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  jdk spark