в
олчанию,spark_read_jdbc()
читает всю таблицу базы данных в Spark. Я использовал следующий синтаксис для создания этих соединений.
library(sparklyr)
library(dplyr)
config <- spark_config()
configолчанию,spark_read_jdbc()
читает всю таблицу базы данных в Spark. Я использовал следующий синтаксис для создания этих соединений.
sparklyr.shell.driver-class-path` <- "mysql-connector-java-5.1.43/mysql-connector-java-5.1.43-bin.jar"
sc <- spark_connect(master = "local",
version = "1.6.0",
hadoop_version = 2.4,
config = config)
db_tbl <- sc %>%
spark_read_jdbc(sc = .,
name = "table_name",
options = list(url = "jdbc:mysql://localhost:3306/schema_name",
user = "root",
password = "password",
dbtable = "table_name"))
Однако теперь я столкнулся со сценарием, в котором у меня есть таблица в базе данных MySQL, и я предпочел бы читать только часть из этой таблицы в Spark.
Как я могу получитьspark_read_jdbc
принять предикат? Я попытался добавить предикат в список опций без успеха,
db_tbl <- sc %>%
spark_read_jdbc(sc = .,
name = "table_name",
options = list(url = "jdbc:mysql://localhost:3306/schema_name",
user = "root",
password = "password",
dbtable = "table_name",
predicates = "field > 1"))