4
我有一個Spark實例,我試圖連接到現有的Netezza數據倉庫應用程序以檢索一些數據。如何從Spark SQLContext連接到Netezza數據庫
使用SparkSQL的SQLContext
,並根據Spark SQL Programming Guide,這是可以用read
方法實現的。我確定我需要使用--jars
標誌提供JDBC驅動程序,而不是像文檔中那樣提供SPARK_CLASSPATH
。操作看起來像
// pyspark
df = sqlContext.read.format('jdbc').options(...).load()
// spark-shell
val df = sqlContext.read.format("jdbc").options(...).load()
我可以找到一些關於使用JDBC連接到Netezza的文檔,但不是如何正確傳遞用戶名和密碼。我需要通過這裏的'選項'是什麼?
關於ALL CAPS評論的說明:在幾乎所有Netezza系統的實踐中都是如此。但是,有一個允許系統視圖使用全部小寫值的配置設置。所以,如果大寫不起作用,那麼也嘗試小寫。 – Tim
嗨,而不是加載整個表,我可以傳遞一個查詢呢? –
@sriharikalicharanTummala是的,你可以。如果你包含一個子查詢和一個別名(例如x),它就可以爲你工作 - 例如'「(SELECT * FROM表,其中id = 1)x」' –