spark1.4版本与CDH5.1.3版本hive整合

环境说明:hadoop集群安装的是CDH5.1.3;spark是1.4版本,安装方式为standlone。
场景介绍:在spark-sql中,读取hive的数据
配置步骤如下:
1、找到hive的  hive-site.xml 文件和  hive-log4j.properties 文件 放入spark的  conf 目录下。
注:hive的配置文件目录位置为:/alidata/cloudera/parcels/CDH-5.1.3-1.cdh5.1.3.p0.12/lib/hive/conf

2、编辑spark的spark-env.sh文件
添加 export HIVE_HOME=/alidata/cloudera/parcels/CDH-5.1.3-1.cdh5.1.3.p0.12/lib/hive/bin   #导入hive的运行环境目录
添加 export HADOOP_CONF_DIR=/alidata/cloudera/parcels/CDH-5.1.3-1.cdh5.1.3.p0.12/lib/hadoop/etc/hadoop # 导入hadoop配置文件目录
注:如果不导入hadoop配置文件目录,使用spark-sql查询hive中的表时则会抛异常: ERROR CliDriver: java.lang.IllegalArgumentException: java.net.UnknownHostException: nameservice


通过以上简单配置后可以使用spark-sql查询hive中的表,spark-sql直接支持hive中的函数。

启动spark-sql时,会抛出异常:
WARN metastore.RetryingMetaStoreClient: MetaStoreClient lost connection. Attempting to reconnect.
org.apache.thrift.TApplicationException: Invalid method name: 'get_functions'

目前还没有解决该异常,但该异常并不影响spark-sql的查询。

你可能感兴趣的:(hadoop,spark,hive)