最近在打造一款可视化分析产品, 需要用到组合多数据源, 进行查询, 看了挺多开源的插件, 发现目前只有Presto比较符合, 但是由于Presto没有多用户机制和资源管理, 所以需要在这基本上构建多用户机制。
要编译源代码, 发现其用了代码模板, 因为sql解析语法的原因吧, 所以先用antlr4去编译项目presto-parser
PrestoSystemRequirements提醒必须要
Presto requires Linux or Mac OS X
我先注解看看能不能跑下去,
还有非常重要的一点, 就是要设置跳过代码检查
<air.check.skip-all>true</air.check.skip-all> , windows下不能正常运行
好像因为windows下getMaxFileDescriptorCount获取不到最大文件读取限制
注解掉, 换个常数就可以跑了
private static OptionalLong getMaxFileDescriptorCount() { try { //MBeanServer mbeanServer = ManagementFactory.getPlatformMBeanServer(); //Object maxFileDescriptorCount = mbeanServer.getAttribute(ObjectName.getInstance(OPERATING_SYSTEM_MXBEAN_NAME), "MaxFileDescriptorCount"); //return OptionalLong.of(((Number) maxFileDescriptorCount).longValue()); return OptionalLong.of(10000); } catch (Exception e) { return OptionalLong.empty(); } }
正常跑起, 接下来做改造,
改造成功, 后续再写