Я пытаюсь использовать код Scala / Spark на IntelliJ для чтения таблицы, созданной в Hive. Я установил Hadoop, а затем Hive в Ubuntu, и оба они работают правильно в моей локальной среде.
Ниже приведен код, который я пытаюсь запустить на 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', но она все равно не работает.
Мне интересно, нужно ли настраивать metastore в файле hive-site.xml, а затем добавить hive.metastore.uris к параметрам конфигурации SparkSession? Другие предложения приветствуются.
Спасибо за вашу помощь!