1.Spark概述

Spark 是一个用来实现快速而通用的集群计算的平台。

在速度方面, Spark 扩展了广泛使用的 MapReduce 计算模型,而且高效地支持更多计算模式,包括交互式查询和流处理。 在处理大规模数据集时,速度是非常重要的。速度快就意味着我们可以进行交互式的数据操作, 否则我们每次操作就需要等待数分钟甚至数小时。

Spark 的一个主要特点就是能够在内存中进行计算, 因而更快。不过即使是必须在磁盘上进行的复杂计算, Spark 依然比 MapReduce 更加高效。

2.Spark生态系统

3.Spark学网站

1)databricks 网站

2)spark 官网

3)github 网站

4.Spark2.x源码下载及编译生成版本

1)Spark2.2源码下载到bigdata-pro02.kfk.com节点的/opt/softwares/目录下。

解压

tar -zxf spark-2.2.0.tgz -C /opt/modules/

2)spark2.2编译所需要的环境:Maven3.3.9和Java8

3)Spark源码编译的方式:Maven编译、SBT编译(暂无)和打包编译make-distribution.sh

a)下载Jdk8并安装

tar -zxf jdk8u11-linux-x64.tar.gz -C /opt/modules/

b)JAVA_HOME配置/etc/profile

vi /etc/profile

export JAVA_HOME=/opt/modules/jdk1.8.0_11

export PATH=$PATH:$JAVA_HOME/bin

编辑退出之后,使之生效

source /etc/profile

c)如果遇到不能加载当前版本的问题

rpm -qa|grep jdk

rpm -e --nodeps jdk版本

which java 删除/usr/bin/java

d)下载并解压Maven

下载Maven

解压maven

tar -zxf apache-maven-3.3.9-bin.tar.gz -C /opt/modules/

配置MAVEN_HOME

vi /etc/profile

export MAVEN_HOME=/opt/modules/apache-maven-3.3.9

export PATH=$PATH:$MAVEN_HOME/bin

export MAVEN_OPTS="-Xmx2g -XX:MaxPermSize=1024M -XX:ReservedCodeCacheSize=1024M"

编辑退出之后,使之生效

source /etc/profile

查看maven版本

mvn -version

e)编辑make-distribution.sh内容,可以让编译速度更快

VERSION=2.2.0

SCALA_VERSION=2.11.8

SPARK_HADOOP_VERSION=2.5.0

#支持spark on hive

SPARK_HIVE=1

4)通过make-distribution.sh源码编译spark

./dev/make-distribution.sh --name custom-spark --tgz -Phadoop-2.5 -Phive -Phive-thriftserver  -Pyarn

#编译完成之后解压

tar -zxf spark-2.2.0-bin-custom-spark.tgz -C /opt/modules/

5.scala安装及环境变量设置

1)下载

2)解压

tar -zxf scala-2.11.8.tgz -C /opt/modules/

3)配置环境变量

vi /etc/profile

export SCALA_HOME=/opt/modules/scala-2.11.8

export PATH=$PATH:$SCALA_HOME/bin

4)编辑退出之后,使之生效

source /etc/profile

6.spark2.0本地模式运行测试

1)启动spark-shell测试

./bin/spark-shell

scala> val textFile = spark.read.textFile("README.md")

textFile: org.apache.spark.sql.Dataset[String] = [value: string]

scala> textFile.count()

res0: Long = 126

scala> textFile.first()

res1: String = # Apache Spark

scala> val linesWithSpark = textFile.filter(line => line.contains("Spark"))

linesWithSpark: org.apache.spark.sql.Dataset[String] = [value: string]

scala> textFile.filter(line => line.contains("Spark")).count() // How many lines contain "Spark"?

res3: Long = 15

2)词频统计

a)创建一个本地文件stu.txt

vi /opt/datas/stu.txt

hadoop  storm   spark

hbase   spark   flume

spark   dajiangtai     spark

hdfs    mapreduce      spark

hive    hdfs    solr

spark   flink   storm

hbase   storm   es

solr    dajiangtai     scala

linux   java    scala

python  spark   mlib

kafka   spark   mysql

spark   es      scala

azkaban oozie   mysql

storm   storm   storm

scala   mysql   es

spark   spark   spark

b)spark-shell 词频统计

./bin/spark-shell

scala> val rdd = spark.read.textFile("/opt/datas/stu.txt")

#词频统计

scala> val lines = rdd.flatmap(x => x.split(" ")).map(x => (x,1)).rdd.reduceBykey((a,b) => (a+b)).collect

#对词频进行排序

scala> val lines = rdd.flatmap(x => x.split(" ")).map(x => (x,1)).rdd.reduceBykey((a,b) => (a+b)).map(x =>(x._2,x._1)).sortBykey().map(x => (x._2,x._1)).collect

7.spark 服务web监控页面

通过web页面查看spark服务情况

bigdata-pro01.kfk.com:4040

新闻实时分析系统 Spark2.X环境准备、编译部署及运行的更多相关文章

  1. 新闻实时分析系统 基于IDEA环境下的Spark2.X程序开发

    1.Windows开发环境配置与安装 下载IDEA并安装,可以百度一下免费文档. 2.IDEA Maven工程创建与配置 1)配置maven 2)新建Project项目 3)选择maven骨架 4)创 ...

  2. 新闻实时分析系统 Spark2.X集群运行模式

    1.几种运行模式介绍 Spark几种运行模式: 1)Local 2)Standalone 3)Yarn 4)Mesos 下载IDEA并安装,可以百度一下免费文档. 2.spark Standalone ...

  3. 新闻实时分析系统 Spark2.X分布式弹性数据集

    1.三大弹性数据集介绍 1)概念 2)优缺点对比 2.Spark RDD概述与创建方式 1)概述 在集群背后,有一个非常重要的分布式数据架构,即弹性分布式数据集(resilientdistribute ...

  4. 新闻实时分析系统-Hadoop2.X HA架构与部署

    1.HDFS-HA架构原理介绍 hadoop2.x之后,Clouera提出了QJM/Qurom Journal Manager,这是一个基于Paxos算法实现的HDFS HA方案,它给出了一种较好的解 ...

  5. 新闻实时分析系统-Hadoop2.X分布式集群部署

    (一)hadoop2.x版本下载及安装 Hadoop 版本选择目前主要基于三个厂商(国外)如下所示: 1.基于Apache厂商的最原始的hadoop版本, 所有发行版均基于这个版本进行改进. 2.基于 ...

  6. 新闻网大数据实时分析可视化系统项目——14、Spark2.X环境准备、编译部署及运行

    1.Spark概述 Spark 是一个用来实现快速而通用的集群计算的平台. 在速度方面, Spark 扩展了广泛使用的 MapReduce 计算模型,而且高效地支持更多计算模式,包括交互式查询和流处理 ...

  7. 新闻实时分析系统-inux环境准备与设置

    1.Linux系统常规设置 1)设置ip地址 项目视频里面直接使用界面修改ip比较方便,如果Linux没有安装操作界面,需要使用命令:vi /etc/sysconfig/network-scripts ...

  8. Spark2.X环境准备、编译部署及运行

    下载地址 :https://www.apache.org/dyn/closer.lua/spark/spark-2.2.0/spark-2.2.0.tgz 我们把spark放在节点2上 解压 下面我们 ...

  9. 新闻实时分析系统 大数据Web可视化分析系统开发

    1.基于业务需求的WEB系统设计 2.下载Tomcat并创建Web工程并配置相关服务 下载tomcat,解压并启动tomcat服务. 1)新建web app项目 创建好之后的效果 2)对tomcat进 ...

随机推荐

  1. django-ForeignKey,OneToOneField,ManyToManyField

    进入到django自带的related.py中,可以看到 1.ForeignKey 初始化的参数有: to, on_delete, related_name=None, related_query_n ...

  2. fenby C语言 P18

    #include <stdio.h> int main(){ int i; for(i=1;i<=15;i++) { if((i%2==1)) { printf("%d\n ...

  3. json基本内容

    json的基本信息和历史 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于欧洲计算机协会制定的js规范的一个子集,采用完全独立于编程语言的文本格式来 ...

  4. 开源.Net Standard版华为物联网北向接口SDK

    最近用到了华为的物联网平台API,但是官方没有.Net版的SDK,所以就自己封装了一个,开源出来给有需要的朋友,同时也算是为.Net Core的发展做点小贡献~ 源码地址:https://github ...

  5. PHP函数preg_match()

    部分内容来自:http://www.nowamagic.net/librarys/veda/detail/1054 preg_match — 进行正则表达式匹配. 语法:int preg_match ...

  6. Java 中文数字转换为阿拉伯数字

    贴出代码,方便学习交流,稍后放出镜像问题的代码 package com.thunisoft.cail.utils; import com.sun.istack.internal.NotNull; im ...

  7. Golang的json包

    encoding/json encoding/json是官方提供的标准json, 实现RFC 7159中定义的JSON编码和解码.使用的时候需要预定义struct,原理是通过reflection和in ...

  8. 爬虫之scrapy安装与基本使用

    安装:pip install scrapy基本使用 1. 创建项目:scrapy startproject 项目名 cd 项目名 2. 生成爬虫 1. 创建spider爬虫:scrapy genspi ...

  9. [考试反思]0714/0716,NOIP模拟测试3/4

    这几天时间比较紧啊(其实只是我效率有点低我在考虑要不要坐到后面去吹空调) 但是不管怎么说,考试反思还是要写的吧. 第三次考试反思没写总感觉缺了点什么,但是题都刷不完... 一进图论看他们刷题好快啊为什 ...

  10. AHOI2018 排列

    首先是那个非常吃shi的题意,想好久一会就能发现题里面的意思是: 如果某一个数的值为x,那么它必须排在第x个数后面. 然后我们就可以发现形成了一棵树,第i个数的父亲是i,如果出现了环就说明无解. 于是 ...