Почему Spark JDBC выводит схему таблицы, даже если схема указана?

#mysql #apache-spark #spark-jdbc

Вопрос:

Я использую spark.read.format("jdbc").option("query", tmpSql) для загрузки таблицы из Mysql, и я вижу запрос select * from (xxx) where 1=0 из монитора базы данных, позже я знаю, что этот запрос используется для вывода схемы таблицы в Spark. Однако , когда я использую spark.read.format("jdbc").option("query", tmpSql).schema(xxx) , запрос на вывод схемы таблицы все еще существует. Почему Spark все еще нужно выводить схему таблицы, когда customSchema уже указана?

Комментарии:

1. Пожалуйста, проясните вашу конкретную проблему или предоставьте дополнительные сведения, чтобы выделить именно то, что вам нужно. Поскольку это написано в настоящее время, трудно точно сказать, о чем вы просите.

Ответ №1:

Попробуйте использовать customSchema параметр spark jdbc.

 .option("customSchema", schema_str)  

Комментарии:

1. Это то же самое, что .schema(xxx)