Airpal目前使用presto客户端连接到PrestoDB。但据我了解,它也可以使用JDBC进行连接。有没有可用于此目的的代码?即使它是连接到任何其他数据库,它可能对我有帮助。 presto客户端的模型看起来与JDBC等其他模型有很大不同。
答案 0 :(得分:0)
Airpal正在使用presto客户端连接,并在其各种模块内部使用这些对象(主要用于架构和数据,如Column,QueryResults等)。
提供JDBC连接的一种方法是将其最低层的数据库连接(executeWith com.airbnb.airpal.core.execution.QueryCliemt:数据为1,元数据为6)调用JDBC查询执行。然后可以将JDBC结果(主要是数据和模式)转换为presto客户端api等效对象,然后在airpal中继续使用其他逻辑。
另一种方法是通过转移到JDBC对象以供内部使用和通信来重写具有本机JDBC支持的airpal。这看起来像是一个更大的变化。
我计划添加对presto客户端或JDBC连接之间动态选择的支持。我将使用com.airbnb.airpal.presto.QueryRunner相应地保存presto客户端会话或JDBC连接。