我在ubuntu上安装了hadoop 2.8.1,然后安装了spark-2.2.0-bin-hadoop2.7。 首先,当我通过spark-shell创建数据库并试图通过java JDBC程序访问它时,我发现没有表存在。然后我使用直线并观察到数据库在这里也不存在。我通过直线创建数据库。为什么spark-shell和beeline显示不同的DB?
他们可能应该表现出同样的。我尝试了连接hive2和获取表的普通JDBC程序,并观察到有时它显示我通过spark-shell创建的表,有时显示通过直线创建的表...请帮助。同样有时也会直线发生..
答案 0 :(得分:1)
这可能是因为你的Spark安装 未正确配置以访问您的Hive仓库。
在这种情况下,Spark-SQL旨在设置自己的本地仓库 并恢复到独立模式。这旨在简化采用 对于非Hive用户。
要解决此问题,您应该:
确保Spark可以访问hive-site.xml配置文件。 例如,您可以设置符号链接(请务必先检查路径)
ln -s /etc/hive/conf/hive-site.xml /etc/spark/conf/hive-site.xml
$SPARK_HOME/lib
)确保您使用以下内容启用了Hive支持:
SparkSession.builder.enableHiveSupport().getOrCreate()
希望这有帮助。