Привет, у меня в улье 2 таблицы, в которых из первой таблицы я выбираю данные, создаю фрейм данных и сохраняю этот фрейм данных в другую таблицу в формате * или 1008 *. Я создал обе таблицы в одной базе данных. когда я сохраняю этот фрейм данных во 2-ю таблицу, я получаю таблицу, не найденную в проблеме с базой данных. и если я не использую какое-либо имя базы данных, она всегда создает и сохраняет мой df в базе данных по умолчанию для куста. Может кто-нибудь подсказать мне, почему он не принимает определяемые пользователем База данных и всегда принимать в качестве базы данных по умолчанию? Ниже приведен код, который я использую, а также я использую HDP.
//creating hive session
val hive = com.hortonworks.spark.sql.hive.llap.HiveWarehouseBuilder.session(sparksession).build()
hive.setDatabase("dbname")
var a= "SELECT 'all columns' from dbname.tablename"
val a1=hive.executeQuery(a)
a1.write
.format("com.hortonworks.spark.sql.hive.llap.HiveWarehouseConnector")
.option("database", "dbname")
.option("table", "table_name")
.mode("Append")
.insertInto("dbname.table_name")
вместо insertInto (dbname.table_name), если я использую insertInto (table_name), то его сохраняет фрейм данных в базе данных по умолчанию. Но если я даю dbname.tablename, то его таблица показа не найдена в базе данных. Я также пытался сделать то же самое, используя dbSession, используя.
val dbSession = HiveWarehouseSession.session(sparksession).build()
dbSession.setDatabase("dbname")
Примечание. Моя вторая таблица (целевая таблица, в которую я записываю данные) - это секционированная таблица с разбивкой.