Presto改造

一隻老鼠發表於2018-04-12

最近在打造一款視覺化分析產品, 需要用到組合多資料來源, 進行查詢, 看了挺多開源的外掛, 發現目前只有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();
        }
    }

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

 

改造成功, 後續再寫

相關文章