我试图在IntelliJ上使用Scala / Spark代码,以便读取在Hive上创建的表。我先在Hadoop上安装了Hadoop,然后在Hive上安装了Hive,并且两者都在我的本地环境中正常运行。
下面是我要在IntelliJ上运行的代码:
import org.apache.spark.sql.SparkSession
// warehouseLocation points to the default location for managed databases and tables
val warehouseLocation = "hdfs:///user/hive/warehouse"
val spark = SparkSession
.builder()
.appName("Spark Hive Local Connector")
.config("spark.sql.warehouse.dir", warehouseLocation)
.config("spark.master", "local[*]")
.enableHiveSupport()
.getOrCreate()
import spark.implicits._
import spark.sql
sql("SELECT * FROM test.employee").show()
执行此代码后,我遇到一个错误,指出未找到该表。我还尝试将“ warehouseLocation”变量设置为“ / user / hive / warehouse”,但仍然无法使用。
我想知道是否有必要在hive-site.xml文件中配置metastore,然后将hive.metastore.uris添加到SparkSession的配置参数中?欢迎其他建议。
谢谢您的帮助!