Können wir in der Lage Tabellen aus zwei verschiedenen hive2 Servern wie unter Verwendung von zwei SparkSessions zuzugreifen:Können wir in der Lage
val spark = SparkSession.builder().master("local")
.appName("spark remote")
.config("javax.jdo.option.ConnectionURL", "jdbc:mysql://192.168.175.160:3306/metastore?useSSL=false")
.config("javax.jdo.option.ConnectionUserName", "hiveroot")
.config("javax.jdo.option.ConnectionPassword", "hivepassword")
.config("hive.exec.scratchdir", "/tmp/hive/${user.name}")
.config("hive.metastore.uris", "thrift://192.168.175.160:9083")
.enableHiveSupport()
.getOrCreate()
val sparkdestination = SparkSession.builder().master("local") .appName("spark remote2")
.config("javax.jdo.option.ConnectionURL", "jdbc:mysql://192.168.175.42:3306/metastore?useSSL=false")
.config("javax.jdo.option.ConnectionUserName", "hiveroot")
.config("javax.jdo.option.ConnectionPassword", "hivepassword")
.config("hive.exec.scratchdir", "/tmp/hive/${user.name}")
.config("hive.metastore.uris", "thrift://192.168.175.42:9083")
.enableHiveSupport()
.getOrCreate()
import spark.implicits._
import spark.sql
val source = spark.sql("SELECT * from sample.source limit 20")
import sparkdestination.implicits._
import sparkdestination.sql
val destination = sparkdestination.sql("select * from sample.destination limit 20")
Oder ist es wir können jede mögliche Art und Weise kann auf zwei verschiedene Datenbanktabellen wie mysql-hive
zum Vergleich mit mehreren Sparksessions zugreifen.
SparkSession.clearActiveSession()
SparkSession.clearDefaultSession()
Nach dem Löschen der Sitzungen wir es mit unterschiedlichen Werten zuweisen können:
Danke
Ich glaube nicht, dass die Verbindung in der Mitte geschlossen ist. Haben Sie versucht, kleine Daten zu ziehen? –
funktioniert gut für kleine Datenmengen, aber im Falle von großen ist die Verbindung beendet. – Vignesh