Apache spark 使用JDBC将mariaDB4J表读入spark数据集
我尝试使用以下命令通过jdbc从MariaDB4J读取表:Apache spark 使用JDBC将mariaDB4J表读入spark数据集,apache-spark,jdbc,spark-dataframe,mariadb,Apache Spark,Jdbc,Spark Dataframe,Mariadb,我尝试使用以下命令通过jdbc从MariaDB4J读取表: Dataset<Row> jdbcDF = spark.read() .format("jdbc") .option("url", url) .option("dbtable", String.format("SELECT userID FROM %s;", TableNAME))
Dataset<Row> jdbcDF = spark.read()
.format("jdbc")
.option("url", url)
.option("dbtable", String.format("SELECT userID FROM %s;", TableNAME))
.load();
我不知道从哪里来的,为什么我得到这个错误。。。
谢谢提供给dbtable选项的第二个参数不正确。您不应该指定sql查询,而应该使用模式限定的表名或具有别名的有效sql查询 数据集jdbcDF=spark.read() .格式(“jdbc”) .选项(“url”,url) .option(“dbtable”,String.format(((从%s中选择userID)作为表\别名,tableNAME)) .load(); 您的问题与类似,因此请原谅我: 看到1=0的奇怪查询的原因是Spark试图在不加载任何实际数据的情况下推断数据帧的模式。此查询保证不会传递任何结果,但Spark可以使用查询结果的元数据来获取模式信息
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'SELECT userID FROM MYTABLE; WHERE 1=0' at line 1