在Databricks连接设置中禁用SSL验证。具体实现方法如下:
from airflow.hooks.base_hook import BaseHook
class DatabricksHook(BaseHook):
conn_name_attr = 'databricks_conn_id'
default_conn_name = 'databricks_default'
conn_type = 'databricks'
def __init__(self, databricks_conn_id=default_conn_name):
self.databricks_conn_id = databricks_conn_id
self.databricks_conn = self.get_connection(databricks_conn_id)
self.host = self.databricks_conn.host
self.login = self.databricks_conn.login
self.password = self.databricks_conn.password
self.port = self.databricks_conn.port
self.extra = self.databricks_conn.extra_dejson
self.headers = {
"Authorization": "Bearer "+ self.extra["token"]
}
在Databricks的控制台上获取集群的IP地址和端口号。
执行以下代码:
from airflow.models import Connection
conn_databricks_id = "databricks_default"
conn_databricks = Connection(
conn_id=conn_databricks_id,
conn_type="databricks",
host="",
login="",
password="",
port=,
extra="{\"token\":\"\"}",
)
session = settings.Session()
session.add(conn_databricks)
session.commit()
禁用SSL验证:
conn = Connection.get_connection_from_secrets(conn_databricks_id)
conn.extra = json.dumps({"ssl_verify": False}) conn.update()