Я хочу использовать Apache Spark и подключиться к Vertica с помощью JDBC.
В базе данных Vertica у меня есть 100 миллионов записей, а искровой код выполняется на другом сервере.
Когда я запускаю запрос в 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)
, чтобы увидеть план запроса, который может дать вам больше информации. - person Vishnu667   schedule 16.02.2017