我使用的是hdp-2.6.0.3,但我需要齐柏林飞艇0.8,所以我安装了它作为一个独立的服务。当我跑步时:
%sql
show tables
当我运行spark2sql命令时,我什么也没有得到,并且得到了“table not found”。表格可以在hdp的0.7齐柏林飞艇中看到。
有人能告诉我我错过了什么吗,齐柏林飞艇/星火号能看到Hive吗?
我创建zep0.8的步骤如下:
maven clean package -DskipTests -Pspark-2.1 -Phadoop-2.7-Dhadoop.version=2.7.3 -Pyarn -Ppyspark -Psparkr -Pr -Pscala-2.11
将zeppelin-site.xml和shiro.ini从/usr/hdp/2.6.0.3-8/zeppelin/conf复制到/home/ed/zeppelin/conf。
创建了/home/ed/zeppelin/conf/zeppeli-env.sh,其中我放了以下内容:
export JAVA_HOME=/usr/jdk64/jdk1.8.0_112
export HADOOP_CONF_DIR=/etc/hadoop/conf
export ZEPPELIN_JAVA_OPTS="-Dhdp.version=2.6.0.3-8"
已将/etc/hive/conf/hive-site.xml复制到/home/ed/zeppelin/conf
编辑:我也尝试过:
import org.apache.spark.sql.SparkSession
val spark = SparkSession
.builder()
.appName("interfacing spark sql to hive metastore without configuration file")
.config("hive.metastore.uris", "thrift://s2.royble.co.uk:9083") // replace with your hivemetastore service's thrift url
.config("url", "jdbc:hive2://s2.royble.co.uk:10000/default")
.config("UID", "admin")
.config("PWD", "admin")
.config("driver", "org.apache.hive.jdbc.HiveDriver")
.enableHiveSupport() // don't forget to enable hive support
.getOrCreate()
相同的结果,并且:
import java.sql.{DriverManager, Connection, Statement, ResultSet}
val url = "jdbc:hive2://"
val driver = "org.apache.hive.jdbc.HiveDriver"
val user = "admin"
val password = "admin"
Class.forName(driver).newInstance
val conn: Connection = DriverManager.getConnection(url, user, password)
它给出:
java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
ERROR XSDB6: Another instance of Derby may have already booted the database /home/ed/metastore_db
修复了以下错误:
val url = "jdbc:hive2://s2.royble.co.uk:10000"
但还是没有table:(
2条答案
按热度按时间vbkedwbf1#
这样做有效:
但是我很难将结果集转换成Dataframe。我宁愿sparksession工作,我得到一个Dataframe,所以今天晚些时候我会添加一个赏金。
ev7lccsx2#
我在ClouderaHadoop中遇到了类似的问题。在我的例子中,问题是sparksql没有看到我的配置单元元存储。因此,当我将sparksession对象用于sparksql时,我看不到以前创建的表。我设法通过添加zeppelin-env.sh来解决这个问题
(我想对于霍顿的作品来说,这些路径是另一回事)。我还将spark.master从local[*]更改为解释器ui上的yarn客户端。最重要的是,我手动复制了/etc/spark/conf/中的hive-site.xml,因为我觉得奇怪的是它不在那个目录中,这就解决了我的问题。
因此,我的建议是查看spark\ conf\ dir中是否存在hive-site.xml,如果不存在,则手动添加它。我还找到了霍顿工厂和齐柏林飞艇的指南,以防这不起作用。