在spark sql中使用hive的ddl语句时报出以下异常:
ERROR Task: Failed with exception Unable to alter table. Invalid method name: 'alter_table_with_cascade'
org.apache.hadoop.hive.ql.metadata.HiveException: Unable to alter table. Invalid method name: 'alter_table_with_cascade'
版本说明:spark 1.5.1 hive 0.13
见到这个异常感到很疑惑,'alter_table_with_cascade'应该时hive 1以后出来的,0.13当然不支持,spark怎么会调用这个功能,初步判断是配置文件没有更新,检查了一下,排除配置文件的问题
放到本地来调试一下,一切正常,没有报这个异常,分析了一下本地环境的差异,本地hive是直接连mysql 做metastore的,而发生异常的测试环境的hive是用cdm装的,用了hive server2的远程方式连接metastore
想到了编译spark时使用的-Phive -Phive-thriftserver参数,怀疑spark使用了hive 1以上版本的类库进行编译
查了下官网,发现spark 1.5.1是默认用的hive0.13.1,这就郁闷了
继续查官网,坑爹的发现,原来默认用的是hive1.2.1的类库进行编译的
查看源码中的CHANGES.TXT,也有以下记录
[SPARK-10584] [SQL] [DOC] Documentation about the compatible Hive version is wrong.
Kousuke Saruta <sarutak@oss.nttdata.co.jp>
2015-09-19 01:59:36 -0700
Commit: aaae67d, github.com/apache/spark/pull/8776
找到了问题,就好解决了,按上图所提示的,在classpath里加入hive0.13的jar即可
在spark-default.xml中加入以下配置
spark.sql.hive.metastore.version=0.13.1
spark.sql.hive.metastore.jars=/opt/cloudera/parcels/CDH/lib/hive/lib/*:/opt/cloudera/parcels/CDH/lib/hadoop/client/*
相关推荐
Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行框架,Spark,拥有Hadoop MapReduce所具有的优点...
这份“Spark官方文档中文翻译”涵盖了Spark的核心概念、架构、使用方法以及API,对于理解并应用Spark进行大规模数据处理非常有帮助。 **1. Spark核心概念** Spark基于DAG(有向无环图)执行模型,它将计算任务分解...
spark 2.3.0 api 文档。 Apache Spark is a fast and general-purpose cluster computing system. It provides high-level APIs in Java, Scala, Python and R, and an optimized engine that supports general ...
Spark的官方文档是学习Spark的重要资源,它详细解释了Spark的所有组件,包括Spark Core、Spark SQL、Spark Streaming、MLlib(机器学习库)和GraphX(图处理)。文档中包含了API的使用示例、配置指南和最佳实践,...
这个“Spark 官方文档中文版”包含了对 Spark 的全面介绍和详细指南,对于理解和使用 Spark 极为重要。 首先,Spark 的核心概念是弹性分布式数据集(Resilient Distributed Dataset, RDD)。RDD 是一种不可变、分区...
《Spark技术深度解析》 Spark,作为大数据处理领域的重要框架,以其高效、易用和弹性伸缩等特性,被广泛应用于大规模数据处理、实时计算、机器学习和图形处理等多个场景。本篇笔记将深入探讨Spark的核心概念、架构...
spark graphx基础操作文档。。。。。。。。。。。。
此外,了解如何配置和优化Spark应用,如调整内存管理、并行度设置等,也是提高性能的关键。 总之,"spark学习文档.rar"中的笔记将帮助你深入理解Spark Streaming和Spark SQL,从而能够构建和运行高效的大数据实时...
根据提供的文件信息,我们可以从Cloudera的Spark官方文档中提炼出以下关键知识点: ### Apache Spark概述 Apache Spark 是一个开源的大数据处理框架,能够高效地处理大量的数据集。它支持多种编程语言(如Java、...
Spark 2.0.2 中文文档 Spark 2.0.2 中文文档 Spark 2.0.2 中文文档
总的来说,Spark-2.1.0 API文档是深入理解Spark工作原理和使用方法的关键,它为开发人员提供了详尽的指导,使得在大数据处理和分析项目中能够更加高效地利用Spark。离线版文档的快速访问特性使得在无网络环境下也能...
2. **下载Spark安装包**:可以从官方网站或镜像站点下载适合版本的Spark安装包。 3. **上传并解压安装包**:使用FTP或SCP工具将安装包上传至Linux服务器,然后解压至指定路径,例如`/usr/local`目录。 4. **配置...
《Spark2.0官方中文文档》是一份详细解读Apache Spark 2.0核心特性和功能的资料,旨在帮助用户深入理解和应用这一强大的大数据处理框架。Spark以其高效、易用和可扩展性在大数据领域占据重要地位,而Spark 2.0版本更...
本文将深入探讨如何搭建Hadoop集群,并在此基础上配置YARN资源管理器,以及如何部署Spark集群,同时也会涉及到Spark的Python编程指南。 首先,让我们了解Hadoop。Hadoop是一个开源框架,主要用于分布式存储和计算,...
这个版本的中文文档是学习和理解Spark功能的关键资源。 文档内容可能涵盖以下几个主要知识点: 1. **Spark架构**:Spark的核心设计理念是快速数据处理,它通过内存计算技术实现了这一点。Spark集群由Driver程序、...
- 首先从Spark官网下载Spark的安装包。为了简化起见,可以选择不依赖于特定Hadoop版本的软件包。 - 安装完成后,可以通过命令行启动Spark Shell进行交互式数据分析。 - **使用Spark Shell** - Spark Shell提供了...
关于学习 Spark 的部分,英文好点的话,跟着 Spark 官方文档的英文版走就行了。 如果英语不是很好,可以阅读下由 ApacheCN 组织翻译的 Spark 2.2.0 官方文档中文版。 从概述开始,然后编程指南的快速入门,Spark ...
7. **SparkR**:Spark的R语言接口,让R用户也能利用Spark的分布式计算能力。2.0.2版继续提升了SparkR的性能和功能。 8. **PySpark**:Python接口,为Python开发者提供了访问Spark的强大工具。在2.0.2中,PySpark的...