Я загружаю данные с сервера MYSQL в Spark через JDBC, но мне нужно закрыть это соединение после загрузки данных. Каков точный синтаксис закрытия соединения?Закрытие соединения MYSQL JDBC в Spark
df_mysql = sqlContext.read.format("jdbc").options(
url="jdbc:mysql://***/****”,
driver="com.mysql.jdbc.Driver",
dbtable="((SELECT jobid, system, FROM Jobs LIMIT 500) as T)",
user=“*****”,
password=“*****”).load()
Я пробовал dbtable.close(). Это не работает.
Означает ли это, что мне нужно поддерживать соединение до тех пор, пока я не обработаю данные? Как закрыть соединение после создания df в искровом режиме и до перехода на дорогостоящие вычисления? – user3311147
У вас нет. Это или, по крайней мере, должно обрабатываться входным форматом. Поскольку Spark не загружает данные с нетерпением и обрабатывает записи потоковым способом, вы можете видеть относительно длинные живые соединения. Более того, без кэширования данные могут быть извлечены несколько раз, а само кэширование намного сложнее, чем на простых RDD. – zero323
Я получаю сообщение об ошибке времени на подключение MYSQL, когда добавлял много времени в сценарий. Это было не там, когда скрипт использовался только для загрузки и выполнял некоторые простые задачи по данным. Вот почему я думал о закрытии соединения после создания dataframe. – user3311147