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

编辑退出之后,使之生效

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 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

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

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

  1. 新闻网大数据实时分析可视化系统项目——2、linux环境准备与设置

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

  2. 新闻网大数据实时分析可视化系统项目——7、Kafka分布式集群部署

    Kafka是由LinkedIn开发的一个分布式的消息系统,使用Scala编写,它以可水平扩展和高吞吐率而被广泛使用.目前越来越多的开源分布式处理系统如Cloudera.Apache Storm.Spa ...

  3. 新闻网大数据实时分析可视化系统项目——4、Zookeeper分布式集群部署

    ZooKeeper 是一个针对大型分布式系统的可靠协调系统:它提供的功能包括:配置维护.名字服务.分布式同步.组服务等: 它的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效.功能稳定的 ...

  4. 新闻网大数据实时分析可视化系统项目——6、HBase分布式集群部署与设计

    HBase是一个高可靠.高性能.面向列.可伸缩的分布式存储系统,利用Hbase技术可在廉价PC Server上搭建 大规模结构化存储集群. HBase 是Google Bigtable 的开源实现,与 ...

  5. 新闻网大数据实时分析可视化系统项目——18、Spark SQL快速离线数据分析

    1.Spark SQL概述 1)Spark SQL是Spark核心功能的一部分,是在2014年4月份Spark1.0版本时发布的. 2)Spark SQL可以直接运行SQL或者HiveQL语句 3)B ...

  6. 新闻网大数据实时分析可视化系统项目——19、Spark Streaming实时数据分析

    1.Spark Streaming功能介绍 1)定义 Spark Streaming is an extension of the core Spark API that enables scalab ...

  7. 新闻网大数据实时分析可视化系统项目——21、大数据Web可视化分析系统开发

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

  8. 新闻网大数据实时分析可视化系统项目——15、基于IDEA环境下的Spark2.X程序开发

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

  9. 新闻网大数据实时分析可视化系统项目——13、Cloudera HUE大数据可视化分析

    1.Hue 概述及版本下载 1)概述 Hue是一个开源的Apache Hadoop UI系统,最早是由Cloudera Desktop演化而来,由Cloudera贡献给开源社区,它是基于Python ...

随机推荐

  1. C++的new&delete

    new的过程 new的过程:先分配memory,再调用ctor 我们常用的创建对象的方法有两种 Complex c(1,2); //栈 Complex *pc = new Complex(1,2); ...

  2. Bugku - CTF加密篇之聪明的小羊(一只小羊翻过了2个栅栏)

    聪明的小羊 一只小羊翻过了2个栅栏 KYsd3js2E{a2jda}  

  3. 寒假pta二

    整除光棍 这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1.11.111.1111等.传说任何一个光棍都能被一个不以5结尾的奇数整除.比如,111111就可以被13整除. 现在 ...

  4. ETCD成员维护

    # For each machine TOKEN=my-etcd-token-1 CLUSTER_STATE=new NAME_1=etcd-node-1 NAME_2=etcd-node-2 NAM ...

  5. ISR4K-IOS XE EPC

    1.该操作在ISR4K的平台操作,简单的执行了一个控制层面的抓包 配置命令: R01#monitor capture A control-plane both R01#monitor capture ...

  6. DHCP报文交互流程

    1.发现阶段,即DHCP客户机寻找DHCP服务器的阶段(DHCPdiscover) DHCP客户机以广播方式(因为DHCP服务器的IP地址对于客户机来说是未知的)发送DHCPdiscover发现信息来 ...

  7. 设计模式六大原则——开放封闭原则(OCP)

    什么是开闭原则? 定义:是说软件实体(类.模块.函数等等)应该可以扩展,但是不可修改. 开闭原则主要体现在两个方面: 1.对扩展开放,意味着有新的需求或变化时,可以对现有代码进行扩展,以适应新的情况. ...

  8. CircleLinkList(循环链表)

    尾插法和循环链表. #include <stdio.h> #include <stdlib.h> typedef struct CircleLinkList { int dat ...

  9. excel表格 函数功能

    1.去重复 选中一个区域——>数据——>删除重复项 2.条件求和 按照条件筛选:筛选出一样的类目,将对应的值求和. =sumif(A$1:A$10,B2,C$1:C$10) A$1:A$1 ...

  10. MySQL高级-索引1

    1.索引是什么 索引(Index)是帮助MySQL高效获取数据的数据结构.可以得到索引的本质:索引是数据结构. 可以理解为“排好序的快速查找数据结构” 在数据之外,数据库系统还维护着满足特定查找算法的 ...