Spark和Hive的整合


Spark和Hive的整合

node1 spark master

node2 hive 的服务端-->metastore server

1.拷贝 hive-site.xml 到 spark master的 conf 下

node1

  1. <configuration>
  2. <property>
  3. <name>hive.metastore.uris</name>
  4. <value>thrift://node2:9083</value>
  5. <description>Thrift uri for the remote metastore.Used by metastore client to connect to remote metastore.</description>
  6. </property>
  7. </configuration>

2.开启hive的元数据服务

node2   hive --service metastore

3.启动HDFS和Spark集群

因为hive中源数据是在hdfs上的,所以需要启动hdfs

启动zookeeper 

zkServer.sh start

启动hdfs

start-all.sh 

 

启动spark集群

spark-start-all.sh

4.测试 

进入node1spark中bin下启动 spark-shell

spark-shell --master spark://node1:7077 --executor-memory 1G

先导入HiveContext的包

scala>import org.apache.spark.sql.hive.HiveContext

scala> val hiveContext = new HiveContext(sc)

scala> hiveContext.sql("show tables").show

这一步可能会出现资源问题!

出错原因:确保每个节点有足够的资源,因为一开始启动spark shell的时候指定--executor-memory 1G,表明每个executor进程需要1G的资源,但是实际运行时master不能为executor分配足够的资源,所以就报了如上的错误。

解决办法:

在web端把其他无关的Applications kill(Application ID下方有kill)掉即可

出现如下结果,表明Spark和hive整合ok

如果看不到打印信息,在spark shell 中设置

scala>:sc.setSetLogLevel(INFO)

 

 

 

 

 

 

 

时间: 2024-12-29 06:39:16

Spark和Hive的整合的相关文章

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

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

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&

使用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遭遇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驱动

【转】Spark Streaming和Kafka整合开发指南

基于Receivers的方法 这个方法使用了Receivers来接收数据.Receivers的实现使用到Kafka高层次的消费者API.对于所有的Receivers,接收到的数据将会保存在Spark executors中,然后由Spark Streaming启动的Job来处理这些数据. 然而,在默认的配置下,这种方法在失败的情况下会丢失数据,为了保证零数据丢失,你可以在Spark Streaming中使用WAL日志,这是在Spark 1.2.0才引入的功能,这使得我们可以将接收到的数据保存到WA

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好像也阔以 配置

spark和hive storm mapreduce的比较

Spark Streaming与Storm都可以用于进行实时流计算.但是他们两者的区别是非常大的.其中区别之一就是,Spank Streaming和Stom的计算模型完全不一样,Spark Streaming是基于RDD的,因此需要将一小段时间内的,比如1秒内的数据,收集起来,作为一个RDD.然后再针对这个batch的数据进行处理.而Storm却可以做到每来一条数据, 都可以立即进行处理和计算. 因此,Spark Streaming实际上严格意义上来说,只能称作准实时的流计算框架,而Storm是

spark on hive 配置hive的metastore为mysql

<property><name>hive.metastore.uris</name><value></value><description>Thrift uri for the remote metastore. Used by metastore client to connect to remote metastore.</description></property> <property>&l

spark连接hive

1 环境 hadoop2.7.3 apache-hive-2.1.1-bin spark-2.1.0-bin-hadoop2.6 jdk1.8 2 配置文件 在hive-site.xml中配置mysql数据库连接. cp apache-hive-2.1.1-bin/conf/hive-site.xml  ./spark-2.1.0-bin-hadoop2.6/conf/ cp apache-hive-2.1.1-bin/lib/mysql-connector-java-5.1.40-bin.ja