Spark on hive编译以及简单使用

分别下载了spark 和hive 配置好 发现在元数据库里面 这2个是不通的 是需要编译spark的源码以支持hive的

在这里我用的是一台centos7的虚拟机

准备工作:

jdk的安装配置

hadoop的安装配置

maven的配置 我这用的是apache-maven-3.5.4 maven列表:https://archive.apache.org/dist/maven/maven-3/

spark的版本spark-2.3.1这个版本支持到hive1.2.1 我本机用1.2.2好像也阔以

配置好环境变量就开干,我这里的环境变量是:

export JAVA_HOME=/usr/java/jdk1.8.0_181-amd64
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
#hadoop env
export HADOOP_HOME=/opt/env/hadoop-2.7.5
export PATH=$PATH:$HADOOP_HOME/bin
#hive env
export HIVE_HOME=/opt/env/apache-hive-1.2.2-bin
export PATH=$PATH:$HIVE_HOME/bin
#maven
export M2_HOME=/opt/env/maven3
export PATH=$PATH:$JAVA_HOME/bin:$M2_HOME/bin
#scala
export SCALA_HOME=/opt/env/scala-2.11.6
export PATH=$PATH:$SCALA_HOME/bin

其中这几个必须安装吧 java,spark是scala写的 所以也必须安装 下载源代码

下载 spark-2.3.1.tgz

然后解压

cd spark-2.3.1 进dev目录

cd dev

vi make-distribution.sh 把 MVN=的值改成我们下载的mvn配置目录

在进入 spark-2.3.1目录

mvn -Pyarn -Phadoop-2.7 -Dhadoop.version=2.7.5 -Phive -Phive-thriftserver -DskipTests

编译中。。。。大概有26个task

编译完成:

编译了这么多个模块 要了个把小时。。。。

编译成功后然后打包 打成 2.7.5hive.tar包---------------------下面打包的步骤花了2个半小时。。。。

./dev/./make-distribution.sh --name 2.7.5hive --tgz -Pyarn -Phadoop-2.7 -Dhadoop.version=2.7.5 -Phive -Phive-thriftserver -DskipTests

然后捏配置好spark vi /etc/profile

增加环境变量

export SPARK_HOME=/opt/env/spark-2.3.1-bin-h27hive
export PATH=$PATH:$SPARK_HOME/bin

source /etc/profile

写个脚本用spark执行一下 然后去hive查询一把 看是在spark创建的表在hive也能直接看到 命名

from pyspark import SparkContext
from pyspark.sql import HiveContext
sc=SparkContext.getOrCreate()
sqlContext = HiveContext(sc)
sqlContext.sql(‘use default‘)
sqlContext.sql(‘CREATE TABLE IF NOT EXISTS test(key INT, value STRING)‘)
sqlContext.sql(‘show tables‘).show()

在spark用pyspark执行下看:

在hive下看看表

当然先启动hadoop

到hadoop/sbin/start-dfs.sh

参考网站

原文地址:https://www.cnblogs.com/curl007/p/9567400.html

时间: 2024-10-10 17:54:21

Spark on hive编译以及简单使用的相关文章

Spark SQL Hive Support Demo

前提: 1.spark1.0的包编译时指定支持hive:./make-distribution.sh --hadoop 2.3.0-cdh5.0.0 --with-yarn --with-hive --tgz 2.安装完spark1.0: 3.安装与hadoop对应的CDH版本的hive: Spark SQL 支持Hive案例: 1.将hive-site.xml配置文件拷贝到$SPARK_HOME/conf下 hive-site.xml文件内容形如: <?xml version="1.0&

hadoop、spark、hive、solr、es与YDB在车辆即席分析上的对比分析

自2012年以来,公安部交通管理局在全国范围内推广了机动车缉查布控系统(简称卡口系统),通过整合共享各地车辆智能监测记录等信息资源,建立了横向联网.纵向贯通的全国机动车缉查布控系统,实现了大范围车辆缉查布控和预警拦截.车辆轨迹.交通流量分析研判.重点车辆布控.交通违法行为甄别查处及侦破涉车案件等应用.在侦破肇事逃逸案件.查处涉车违法行为.治安防控以及反恐维稳等方面发挥着重要作用. 随着联网单位和接入卡口的不断增加,各省市区部署的机动车缉查布控系统积聚了海量的过车数据.截至目前,全国32个省(区.

Apache Spark源码走读之9 -- Spark源码编译

欢迎转载,转载请注明出处,徽沪一郎. 概要 本来源码编译没有什么可说的,对于java项目来说,只要会点maven或ant的简单命令,依葫芦画瓢,一下子就ok了.但到了Spark上面,事情似乎不这么简单,按照spark officical document上的来做,总会出现这样或那样的编译错误,让人懊恼不已. 今天闲来无事,又重试了一把,居然o了,做个记录,以备后用. 准备 我的编译机器上安装的Linux是archlinux,并安装后如下软件 scala 2.11 maven git 下载源码 第

Hive安装与简单使用并集成SparkSQL

## Hive环境搭建1. hive下载:http://archive-primary.cloudera.com/cdh5/cdh/5/hive-1.1.0-cdh5.7.0.tar.gzwget http://archive-primary.cloudera.com/cdh5/cdh/5/hive-1.1.0-cdh5.7.0.tar.gz 2. 解压 tar -zxvf hive-1.1.0-cdh5.7.0.tar.gz -C ../apps/ 3. 系统环境变量(vim ~/.bash_

Spark 整合hive 实现数据的读取输出

实验环境: linux centOS 6.7 vmware虚拟机 spark-1.5.1-bin-hadoop-2.1.0 apache-hive-1.2.1 eclipse 或IntelJIDea 本次使用eclipse. 代码: import org.apache.spark.SparkConf; import org.apache.spark.api.java.JavaSparkContext; import org.apache.spark.sql.DataFrame; import o

预编译命令简单解释(转载)

我的blog是用开源的BlogEngine来架设的,有的时候为了满足自己的需求及要对源代码做一些修改.在我调试客户端代码的时候,不管是使用Firebug或者是Vs 2008来调试,看到的Javascript代码都是经过动态压缩过了的,这个系统有一个HttpHanddle是专门用来处理js文件请求的,在第一次请求的时候会对js代码进行压缩,去掉了注释换行符等不必要的字符,这样可以提高访问的速度,但是对调试非常的不利,相信我们谁都不愿意对着一堆压缩过了的JS代码做调试.于是我想到了C#的预编译指令,

使用spark对hive表中的多列数据判重

本文处理的场景如下,hive表中的数据,对其中的多列进行判重deduplicate. 1.先解决依赖,spark相关的所有包,pom.xml spark-hive是我们进行hive表spark处理的关键. <dependencies> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.10</artifactId> <version

Spark和Hive的整合

Spark和Hive的整合 node1 spark master node2 hive 的服务端-->metastore server 1.拷贝 hive-site.xml 到 spark master的 conf 下 node1 <configuration> <property> <name>hive.metastore.uris</name> <value>thrift://node2:9083</value> <d

spark集成hive遭遇mysql check失败的问题

问题: spark集成hive,启动spark-shell或者spark-sql的时候,报错: INFO MetaStoreDirectSql: MySQL check failed, assuming we are not on mysql: Lexical error at line 1, column 5. Encountered: "@" (64), after : "". 环境: spark-1.4 hive-1.2.1 mysql-5.1 jdbc驱动