小编Nik*_*l S的帖子

AWSglueContext读取不允许sql查询

我想使用 AWS 粘合作业从 Mysql 实例读取过滤数据。由于胶水 jdbc 连接不允许我下推谓词,因此我试图在我的代码中显式创建 jdbc 连接。

我想使用 jdbc 连接对 Mysql 数据库运行带有 where 子句的选择查询,如下所示

import com.amazonaws.services.glue.GlueContext
import org.apache.spark.SparkContext
import org.apache.spark.sql.SparkSession


object TryMe {

  def main(args: Array[String]): Unit = {
    val sc: SparkContext = new SparkContext()
    val glueContext: GlueContext = new GlueContext(sc)
    val spark: SparkSession = glueContext.getSparkSession

    // Read data into a DynamicFrame using the Data Catalog metadata
    val t = glueContext.read.format("jdbc").option("url","jdbc:mysql://serverIP:port/database").option("user","username").option("password","password").option("dbtable","select * from table1 where 1=1").option("driver","com.mysql.jdbc.Driver").load()

  }
}
Run Code Online (Sandbox Code Playgroud)

它因错误而失败

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在第 1 行的“select * …

mssql-jdbc aws-glue

3
推荐指数
1
解决办法
5986
查看次数

标签 统计

aws-glue ×1

mssql-jdbc ×1