Я подключился к кластеру Databricks (python 3.5) через код (python 3.5) и выполняю задание в кластере. Код делает то, что должен, вычисляя некоторую статистику из фрейма данных и выводя эту статистику в HTML, используя plotly (4.1.1). Но после этого я получаю некоторые ошибки подключения:
File "C:\Users\dkdbe1\AppData\Local\Continuum\anaconda3\envs\dbconnect\lib\site-packages\py4j\java_gateway.py", line 1145, in send_command
self.socket.sendall(command.encode("utf-8"))
ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\dkdbe1\AppData\Local\Continuum\anaconda3\envs\dbconnect\lib\site-packages\py4j\java_gateway.py", line 985, in send_command
response = connection.send_command(command)
File "C:\Users\dkdbe1\AppData\Local\Continuum\anaconda3\envs\dbconnect\lib\site-packages\py4j\java_gateway.py", line 1149, in send_command
"Error while sending", e, proto.ERROR_ON_SEND)
py4j.protocol.Py4JNetworkError: Error while sending
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\dkdbe1\AppData\Local\Continuum\anaconda3\envs\dbconnect\lib\site-packages\py4j\java_gateway.py", line 929, in _get_connection
connection = self.deque.pop()
IndexError: pop from an empty deque
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\dkdbe1\AppData\Local\Continuum\anaconda3\envs\dbconnect\lib\site-packages\py4j\java_gateway.py", line 1067, in start
self.socket.connect((self.address, self.port))
ConnectionRefusedError: [WinError 10061] No connection could be made because the target machine actively refused it
Задание Spark:
import plotly.graph_objects as go
import plotly.offline as pyo
from plotly.subplots import make_subplots
import pandas as pd
from databricks_funs import *
from pyspark.sql import SparkSession
spark = SparkSession.builder.getOrCreate()
org = spark.read.format("json").load("path")
org = org.dropDuplicates()
pandas_dataframes, pandas_titles, pd_colors = profile_simple_df_save_table(org) # statistic function
, где эти три значения используются в HTML, сгенерированном графиком. Я выяснил, что если запустить приведенный выше код без графического кода, я не получаю никакой ошибки, но если я запускаю код ниже:
fig = make_subplots(
rows=N, cols=1,
row_heights = list(row_heigth),
subplot_titles = tuple(titles),
vertical_spacing=0.025/N,
specs=specs
)
Я думаю, что проблема может заключаться в переключении типа «соединение Java»между искрой и заговором, но я не уверен.