1
我在Scala 2.11中使用Spark SQL查詢數據庫表。我遵循互聯網上給出的例子。Spark SQL JDBC只返回列名
我使用DB:在Ubuntu 14.04 MariaDB的5.5表(來源)我查詢有以下欄目:
`srcname` char(60) NOT NULL,
`endpoint` char(255) NOT NULL,
`pan` char(60) NOT NULL,
`vid` char(10)
這裏是我的代碼:
val sparkSession = SparkSession.builder().master("local[*]").appName("somename").getOrCreate()
val df1 = sparkSession.read
.format("jdbc")
.option("driver", "org.mariadb.jdbc.Driver")
.option("url", url)
.option("dbtable", "SOURCES")
.option("user", username)
.option("password", password)
.load()
df1.show()
這給我以下輸出:
+-------+--------+---+---+
|srcname|endpoint|pan|vid|
+-------+--------+---+---+
|srcname|endpoint|pan|vid|
|srcname|endpoint|pan|vid|
|srcname|endpoint|pan|vid|
+-------+--------+---+---+
即重複每個ro的列名稱w而不提供數據。我的桌子有3排。我試過改變db中的行數,我的輸出也相應地改變了。
我也試着在各種網站上提到的其他方式:
val prop = new java.util.Properties
prop.setProperty("user",username)
prop.setProperty("password",password)
prop.setProperty("driver","org.mariadb.jdbc.Driver")
val df2 = sparkSession.read.jdbc(url, "SOURCES", "srcname", 0, 5, 1, prop)
df2.show()
這也給出了相同的輸出。
這裏是我的火花依賴關係:
compile 'org.apache.spark:spark-core_2.11:2.0.0'
compile 'org.apache.spark:spark-sql_2.11:2.0.0'
關於正在發生的事情錯在這裏任何幫助嗎?