我想使用Apache Spark並通過JDBC連接到Vertica。Apache Spark是否從目標數據庫加載整個數據?
在Vertica數據庫中,我有1億條記錄並在另一臺服務器上運行Spark代碼。
當我在Spark中運行查詢並監視網絡使用情況時,兩臺服務器之間的流量非常高。
看起來Spark加載目標服務器的所有數據。
這是我的代碼:
test_df = spark.read.format("jdbc")
.option("url" , url).option("dbtable", "my_table")
.option("user", "user").option("password" , "pass").load()
test_df.createOrReplaceTempView('tb')
data = spark.sql("select * from tb")
data.show()
當我運行這個
,後2分鐘,非常高的網絡使用情況,結果返回。
Spark是否會從目標數據庫加載整個數據?
你可以使用sql(「select count(*)from spark_table」)。explain(true)'來查看查詢計劃,這可能會給你更多的見解。 – Vishnu667