Я запрашиваю таблицу базы данных, используя Spark SQL в Scala 2.11. Я следил за примерами, приведенными в Интернете.Spark SQL JDBC, возвращающий только имена столбцов
ДБ Я использую: MariaDB 5.5 на Ubuntu 14.04 таблице (ИСТОЧНИКИ) Я выполнение запроса имеет следующие столбцы:
`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|
+-------+--------+---+---+
т. е. повторяет имена столбцов для каждого ро 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'
Любая помощь относительно того, что происходит здесь не так?