Open dannnnthemannnn opened 1 year ago
@dannnnthemannnn
I'm pretty sure that this is the same as for example https://github.com/sparklyr/sparklyr/issues/3196
The problem is that Spark seems to generate a query that looks like this:
select "name", "id"
from OrgInfoV2
Double quotes are used for string literals in Cloud Spanner (and BigQuery). Sparks seems to think that it is a valid way to quote column names in case any of the column names contain any spaces or are equal to reserved keywords.
A possible workaround is probably to explicitly use the MySQL dialect for your connection. MySQL uses the same type of quoting as Cloud Spanner. See https://github.com/apache/spark/blob/071feabbd4325504332679dfa620bc5ee4359370/sql/core/src/main/scala/org/apache/spark/sql/jdbc/MySQLDialect.scala#L108
Thanks for stopping by to let us know something could be better!
PLEASE READ: If you have a support contract with Google, please create an issue in the support console instead of filing on GitHub. This will ensure a timely response.
Please run down the following list and make sure you've tried the usual "quick fixes":
If you are still having issues, please include as much information as possible:
Environment details
Steps to reproduce
Hook this connector up in a spark job with the following code:
See that it is returning the values as if every row is the column name: +----+---+ |name| id| +----+---+ |name| id| |name| id| |name| id| |name| id| |name| id| |name| id| |name| id| |name| id| |name| id| |name| id| |name| id| |name| id| |name| id| |name| id| |name| id| |name| id| |name| id| |name| id| |name| id| |name| id| +----+---+ only showing top 20 rows
My query is: "SELECT name, id FROM OrgInfoV2"
Any additional information below
It seems similar to this issue: https://stackoverflow.com/questions/66983401/spark-mariadb-jdbc-sql-query-returns-column-names-instead-of-column-values or this one: https://stackoverflow.com/questions/63177736/spark-read-as-jdbc-return-all-rows-as-columns-name
where it appears to be issues with the driver
Following these steps guarantees the quickest resolution possible.
Thanks!