У меня есть один кадр данных, который я пытаюсь сохранить как таблицу кустов. Я пробовал все возможные способы, но не смог сохранить его как таблицу в HDP 3.0. Я использую приведенный ниже код.
var sparksession = SparkSession.builder()
.appName("appname")
.config("hive.exec.dynamic.partition", "true")
.config("hive.exec.dynamic.partition.mode", "nonstrict")
.config("spark.sql.sources.maxConcurrentWrites","1")
.config("hive.support.concurrency", "true")
.config("parquet.compression", "SNAPPY")
.config("parquet.enable.dictionary", "false")
.config("spark.sql.parquet.compression.codec", "snappy")
.config("hive.mapred.mode", "nonstrict")
.config("spark.sql.hive.hiveserver2.jdbc.url","url")
.enableHiveSupport()
.getOrCreate()
val hive = com.hortonworks.spark.sql.hive.llap.HiveWarehouseBuilder.session(sparksession).build()
hive.setDatabase("testdb")
val d1="select id,name,salary,city from testdb.test";
val d2=hive.executeQuery(d1)
d2.show //showing hive table's data.
d2.write.format("orc").mode("append").saveAsTable("testdb.test_2")
//test_2 table is already created in testdb database.
//but here getting error 'testdb' not found
d2.write.format("orc").mode("append").saveAsTable("default.test_2")
//if am using default then its not giving any error but saving data in
spark metadata not as a hive table.
//same code is working fine in cloudera and am am getting data
in hive table but in hdp it's giving error.
Я пробовал методы save(), которые также работают для таблицы разделов, но я не могу использовать ведро при использовании метода сохранения. может ли кто-нибудь предложить мне, как мне сохранить этот фрейм данных непосредственно в таблицу кустов в HDP 3.0 (таблица разделена на сегменты, поэтому нельзя использовать метод сохранения)