sql跨數據庫查詢如何查詢?
,Spark通過Jdbc來查詢來自RDB的數據源。但是Spark對Jdbc的支持也是一個逐漸演變的過程,其中關鍵點在于版本1.3,也就是data frame的引入。在1.3以前,Spark通過Jdbc RDD來處理對對Jdbc的查詢。它實現了標準的RDD接口,比如支持partition和compute。但是對很多用戶來說,還是太復雜了。從1.3 起,可以直接用DF接口來做同樣的事情。比如以下代碼就可以完成對一個RDB表的查詢
可以看到,不管數據來自什么數據源(hive,parquet, 甚至NoSql),引入data frame以后,它的代碼是非常相似的,得到的結果都是dataframe,你盡可以把它們揉在一起。至于data frame內部是如何支持多種數據源的,以及如何優化,我再去看看源代碼。