Spark简单了解

本文介绍了Spark在大数据处理中的应用,特别是它如何通过基于内存的计算方式提高性能,相比于Hive的MapReduce。作者还详细描述了如何在虚拟机上安装和配置Scala和Spark,以及如何使用spark-shell进行操作和编写脚本。
摘要由CSDN通过智能技术生成

Spark

目前的项目中有涉及到Spark,所以在网上简单了解了一下,然后在自己的虚拟机上简单实现了目前项目上使用Spark的流程。
上一篇博客介绍了使用外部表关联的方式通过hive sql的方式将hadoop中的数据同步到了hbase中,因为目前java有相关的API可以访问hbase,并且查询hbase的速度应该是比操作hive更快。hive sql操作hadoop中的数据的方式底层也是通过hadoop提供的MapReduce来实现的,MapReduce不是很好了解,但是hive sql给我们提供了一种类似sql的形式来操作,这样就很简单了。虽然这样对于我们开发来说不用去写MapReduce了,但是MapReduce执行速度慢的问题还是存在的。
所以Spark就是来解决hive sql操作hadoop数据比较慢的问题,对于一个复杂的sql可能会产生中间结果,对于这些中间结果,hive sql,或者说hadoop中的MapReduce会将这些中间结果存到磁盘中,需要的时候再从磁盘里读出来,而Spark会将这些中间结果缓存到内存中。说到这里应该很明白了,Spark很大程度上是基于内存计算的,减少了很多次磁盘IO,所以速度更快了。

安装scala(安装使用spark不需要安装scala环境)

正如上面的标题说的,scala不是非要安装,spark内置了scala,我这里记录一下,就不用单独开贴记录安装scala了。
安装scala也很简单
1.官网上下载
scala下载连接
2.将压缩包传到你自己的虚拟机上并且解压

tar -zxf scala-2.12.6.tgz

3.然后添加环境变量,并且让配置文件生效
打开配置文件

vi /etc/profile

在文件最底部添加下面的内容

#SCALA_HOME
export SCALA_HOME=/root/software/scala212
export PATH=$SCALA_HOME/bin:$PATH

然后执行 source /etc/profile,让配置文件生效
之后执行一下scala -version看一下输出内容是否安装了

安装spark

1.安装spark也是先从官网上下载相关压缩包
spark官网下载链接
2.将压缩包上传到虚拟机上并且解压

tar -zxf spark-3.1.2-bin-hadoop3.2.tgz

3.添加环境变量,让配置文件生效
打开配置文件

vi /etc/profile

在文件底部添加下面的内容

#SPARK_HOME
export SPARK_HOME=/root/software/spark312
export PATH=$PATH:$SPARK_HOME/bin

退出之后执行source /etc/profile让配置文件生效
4.将相关jar包和配置文件拷贝到spark中
先切到spark的jars文件夹

cd /root/software/spark312/jars

然后将hive中的jar包复制到这里

[root@hadoop3 jars]# cp /opt/soft/hive312/lib/hive-beeline-3.1.2.jar ./
[root@hadoop3 jars]# cp /opt/soft/hive312/lib/hive-cli-3.1.2.jar ./
[root@hadoop3 jars]# cp /opt/soft/hive312/lib/hive-exec-3.1.2.jar ./
[root@hadoop3 jars]# cp /opt/soft/hive312/lib/hive-jdbc-3.1.2.jar ./
[root@hadoop3 jars]# cp /opt/soft/hive312/lib/hive-metastore-3.1.2.jar ./
[root@hadoop3 jars]# cp /opt/soft/hive312/lib/mysql-connector-java-8.0.25.jar ./

再将hive的hive-site.xml文件复制到spark的conf文件夹下
再hive-site.xml文件中添加下面的内容

<property>
         <name>hive.metastore.uris</name>
         <value>thrift://你的虚拟机ip:9083</value>
    </property>

然后就可以执行spark-shell了
在这里插入图片描述
在这里就可以执行scala的语句了,如果项目中需要定时的操作,也可以编写一个脚本执行下面是一个简单的例子

#!/bin/bash

spark-shell < test.scala &> ./scala.log

前提是正确启动了hadoop,hive,正确安装了spark,并且hive中有这个表,行吧,就写这么多吧,还有很多地方需要去熟练和掌握

# 是不是一定要有所失,才能有所悟

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值