Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 使用JDBC将mariaDB4J表读入spark数据集_Apache Spark_Jdbc_Spark Dataframe_Mariadb - Fatal编程技术网

Apache spark 使用JDBC将mariaDB4J表读入spark数据集

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))

我尝试使用以下命令通过jdbc从MariaDB4J读取表:

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