作者:小小的忧伤团_170 | 来源:互联网 | 2022-12-29 00:26
我正在将数据从sql服务器拉到hdfs。这是我的摘录,
val predicates = Array[String]("int_id <500000", "int_id >= 500000 && int_id <1000000")
val jdbcDF = spark.read.format("jdbc")
.option("url", dbUrl)
.option("databaseName", "DatabaseName")
.option("dbtable", table)
.option("user", "***")
.option("password", "***")
.option("predicates", predicates)
.load()
我的Intellij IDE一直在说
“类型不匹配,预期为布尔值或长整型或双精度或字符串,实际:Array [String]”
在谓词中。不知道这怎么了。谁能看到这有什么问题吗?另外,我如何在这里使用提取大小?
谢谢。
1> stefanobaghi..:
To option
方法仅接受Boolean
s,Long
s,Double
s或String
s。要通过predicates
为Array[String]
您必须使用jdbc
,而不是在其指定的方法format
方法。
val predicates = Array[String]("int_id <500000", "int_id >= 500000 && int_id <1000000")
val jdbcDF = spark.read.jdbc(
url = dbUrl,
table = table,
predicates = predicates,
cOnnectionProperties= new Properties(???) // user, pass, db, etc.
)
您可以在此处查看示例。