spark hive结合杂记

1.下载spark源码,在spark源码目录下面有个make-distribution.sh文件,修改里面的参数,使编译后能支持hive,修改后执行该文件。(要预先安装好maven才能编译)。

2.将编译好的spark源码部署到机器上,然后将hive/conf中的hive-site.xml拷贝到spark/conf目录下。然后可以通过spark-shell来测试一下,详见:http://www.cnblogs.com/hseagle/p/3758922.html

3.spark中使用hive要时,要启动hive server服务,在hive/bin目录下建立一个脚步文件,添加 chmod u+x filename

nohup ./hive --service hiveserver >> hiveserver.log 2>&1 &
echo $! > hive-server.pid

4.在eclipse中编写spark程序时,要将spark/lib中的包倒入,spark-examples。。。.jar不用导入。如果要操作hive可能还要倒入对应的数据库jdbc驱动。

5.在eclipse中直接运行java 版的spark hive程序时可能会会先hive的metastore不正确的,而是链接的默认metastore此时就会出现各种错误eg.no table TABLENAME, can‘t fetch table ...,类似的错误,我的解决办法是,将java程序打包成jar,将导出的jar包拷贝到spark/lib目录下。,然后通过参考spark/bin中的spark-submit脚本命令来执行jar程序,参考spark/bin/run-examples脚步,做了如下简化,测试后可以进行简单的无参数输入执行:

SCALA_VERSION=2.10

FWDIR="$(cd `dirname $0`/..; pwd)"
export SPARK_HOME="$FWDIR"
export SPARK_EXAMPLES_JAR=$SPARK_HOME/lib/YOUR_EXPORT_JAR_NAME.jar
EXAMPLE_MASTER=${MASTER:-"local[*]"}
EXAMPLE_CLASS=demo.wrencai.cup.SparkHiveDemo

"$FWDIR"/bin/spark-submit   --master $EXAMPLE_MASTER   --class $EXAMPLE_CLASS   --name SparkSubmit_Demo   "$SPARK_EXAMPLES_JAR" \

注意:上面的脚本中需要修改蓝色标注的两行,将红色字体分别改成你所导出的jar包名和你要执行的类名g(格式:YourPacketName.YourClassName)

时间: 2024-08-01 08:54:27

spark hive结合杂记的相关文章

Spark(Hive) SQL中UDF的使用(Python)

相对于使用MapReduce或者Spark Application的方式进行数据分析,使用Hive SQL或Spark SQL能为我们省去不少的代码工作量,而Hive SQL或Spark SQL本身内置的各类UDF也为我们的数据处理提供了不少便利的工具,当这些内置的UDF不能满足于我们的需要时,Hive SQL或Spark SQL还为我们提供了自定义UDF的相关接口,方便我们根据自己的需求进行扩展. 在Hive的世界里使用自定义UDF的过程是比较复杂的.我们需要根据需求使用Java语言开发相应的

Spark(Hive) SQL数据类型使用详解(Python)

Spark SQL使用时需要有若干“表”的存在,这些“表”可以来自于Hive,也可以来自“临时表”.如果“表”来自于Hive,它的模式(列名.列类型等)在创建时已经确定,一般情况下我们直接通过Spark SQL分析表中的数据即可:如果“表”来自“临时表”,我们就需要考虑两个问题: (1)“临时表”的数据是哪来的? (2)“临时表”的模式是什么? 通过Spark的官方文档可以了解到,生成一张“临时表”需要两个要素: (1)关联着数据的RDD: (2)数据模式: 也就是说,我们需要将数据模式应用于关

Spark(Hive) SQL中UDF的使用(Python)【转】

相对于使用MapReduce或者Spark Application的方式进行数据分析,使用Hive SQL或Spark SQL能为我们省去不少的代码工作量,而Hive SQL或Spark SQL本身内置的各类UDF也为我们的数据处理提供了不少便利的工具,当这些内置的UDF不能满足于我们的需要时,Hive SQL或Spark SQL还为我们提供了自定义UDF的相关接口,方便我们根据自己的需求进行扩展. 在Hive的世界里使用自定义UDF的过程是比较复杂的.我们需要根据需求使用Java语言开发相应的

Spark&Hive结合起来

1.spark与Hive结合起来 前提:当你spark的版本是1.6.1的时候,你的Hive版本要1.2.1,用别的版本会有问题 我们在做的时候,Hive的版本很简单,我们只需要解压缩,告诉他Hive的源数据在哪里即可 1.首先我们进入/conf/hive-site.xml文件,进行修改jdbc的配置 则此时这个IP要改为only的vm1下的那个IP,不能改为自己无线网络的IP 2.进入bin:./bin/hive 执行成功,会自动创建hive这个库 hive中创建person表 切记:在此之前

Spark&Hive:如何使用scala开发spark作业,并访问hive。

背景: 接到任务,需要在一个一天数据量在460亿条记录的hive表中,筛选出某些host为特定的值时才解析该条记录的http_content中的经纬度: 解析规则譬如: 需要解析host: api.map.baidu.com 需要解析的规则:"result":{"location":{"lng":120.25088311933617,"lat":30.310684375444877}, "confidence&quo

spark+hive运行时没有写权限

当使用spark连接hive时,无论是通过spark-submit提交作业,还是使用spark-shell,spark-sql 都会报以下错误: Exception in thread "main" java.lang.RuntimeException: java.lang.RuntimeException: The root scratch dir: /tmp/hive on HDFS should be writable. Current permissions are: rwx-

spark hive区别

一:Hive本质是是什么 1:hive是分布式又是数据仓库,同时又是查询引擎,Spark SQL只是取代的HIVE的查询引擎这一部分,企业一般使用Hive+spark SQL进行开发 2:hive的主要工作 1>  把HQL翻译长map-reduce的代码,并且有可能产生很多mapreduce的job 2> 把生产的Mapreduce代码及相关资源打包成jar并发布到Hadoop的集群当中并进行运行 3:hive架构 4:hive默认情况下用derby存储元数据,所以在生产环境下一般会采用多用

Hadoop+HBase+Spark+Hive环境搭建

杨赟快跑 简书作者 2018-09-24 10:24 打开App 摘要:大数据门槛较高,仅仅环境的搭建可能就要耗费我们大量的精力,本文总结了作者是如何搭建大数据环境的(单机版和集群版),希望能帮助学弟学妹们更快地走上大数据学习之路. 0. 准备安装包 本文所需的系统镜像.大数据软件安装包.开发环境软件安装包等都可以在我的百度云盘中下载.链接:系统镜像和各种大数据软件密码:n2cn 1. Windows下安装Ubuntu双系统 Hadoop等大数据开源框架是不支持Windows系统的,所以需要先安

伪分布式Spark + Hive on Spark搭建

Spark大数据平台有使用一段时间了,但大部分都是用于实验而搭建起来用的,搭建过Spark完全分布式,也搭建过用于测试的伪分布式.现在是写一遍随笔,记录一下曾经搭建过的环境,免得以后自己忘记了.也给和初学者以及曾经挖过坑的人用作参考. Hive on Spark是Hive跑在Spark上,用的是Spark执行引擎,而不是默认的MapReduce. 可以查阅官网的资源Hive on Spark: Getting Started. 一 .安装基础环境 1.1 Java1.8环境搭建 1) 下载jdk