Apache spark 在spark sql 2.x中,是否存在直接使用where子句查询oracle db而不是对完整数据帧进行过滤的情况

Apache spark 在spark sql 2.x中,是否存在直接使用where子句查询oracle db而不是对完整数据帧进行过滤的情况,apache-spark,datastax,Apache Spark,Datastax,我正在使用spark sql.2.3.1,我正在连接到oracleDB以获取数据帧 Code : >' ora_df .option("schema",schema) .option("partitionColumn", partitionColumn) .option("dbtable", query) .l

我正在使用spark sql.2.3.1,我正在连接到oracleDB以获取数据帧

Code : >'    ora_df
                      .option("schema",schema)
                      .option("partitionColumn", partitionColumn)
                      .option("dbtable", query)
                      .load()
       > '
问题: 我想用日期筛选表。那么,是否仍然可以使用动态构建where子句传递查询


这是一种习惯:

 val dataframe_mysql_4 = spark.read.jdbc(jdbcUrl, s"""(select DISTINCT type from family where type like '${val1}' ) f """, connectionProperties)  

设置r连接字符串,然后使用val1变量设置,可以添加使用此值的where子句。注意f.

@Alex ott sir您能告诉我是否可以直接在oracleDb上使用where子句进行查询,而不是过滤生成的数据帧吗?开始问:从MODEL_VALS中选择*其中DATA_DATE='${colVal}'T主线程java.sql.SQLSyntaxErrorException中的异常:ORA-01741:oracle.jdbc.driver.t4cttiore.ProcessErrort4cttiore.java:447:oracle.jdbc.driver.t4cttiore.ProcessErrort4cttiore.java:396为什么在查询末尾加上f?这是什么意思?你也可以把e放进去。但是需要一个别名。如果我有两个查询,别名应该是不同的还是相同的?在前面的查询数据_DATE='${colVal}'…中,这没有被解析为colVal的respetive字符串值,我在这里做错了什么?我很难对日期发表评论。你填对了吗?甲骨文在这方面有一些方法。这两个查询可以使用相同的别名-我知道这有点奇怪,但这只是协议。看见