我需要创建一个使用jdbc连接到oracle数据库的dataframe。我正在使用edgenode的jupyter笔记本进行连接。spark正在jupyter笔记本上以客户端模式运行。数据库主机和端口没有来自edgenode的连接,但它是从datanodes打开的。但是当我尝试创建Dataframe时,由于“连接超时”错误,它失败了。正常吗?我认为这是试图建立一个连接从edgenode在连接无法建立?如何确保执行者之间的连接(根据我的说法,理论上应该是这样的)。
我需要创建一个使用jdbc连接到oracle数据库的dataframe。我正在使用edgenode的jupyter笔记本进行连接。spark正在jupyter笔记本上以客户端模式运行。数据库主机和端口没有来自edgenode的连接,但它是从datanodes打开的。但是当我尝试创建Dataframe时,由于“连接超时”错误,它失败了。正常吗?我认为这是试图建立一个连接从edgenode在连接无法建立?如何确保执行者之间的连接(根据我的说法,理论上应该是这样的)。
1条答案
按热度按时间7gcisfzg1#
这是“正常的”。一般来说,驱动程序节点(在您的示例中是边缘节点)必须具有与任何工作节点相同的数据访问权限。当数据加载由执行者处理时,驱动程序处理诸如元数据(在您的例子中是获取和转换模式)和计算拆分(这里不相关)之类的事情。