Presto改造

最近在打造一款可视化分析产品, 需要用到组合多数据源, 进行查询, 看了挺多开源的插件, 发现目前只有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();
        }
    }

正常跑起, 接下来做改造, 

改造成功, 后续再写

原文地址:https://www.cnblogs.com/frankzye/p/8807567.html