2017-08-21 100 views
0

我需要通過Apache Drill訪問我的包數據庫中的數據。 據我所知,箱子有一個PostgreSQL interface,但這不符合鑽頭暴露的PostgreSQL interface。 在互聯網上沒有太多關於這方面的信息。 解決這個問題的一種方法是實現一個自定義存儲插件。但是沒有找到有用的信息。我經歷了this,但效果不佳。任何見解,參考,鏈接,信息表示讚賞。通過Apache Drill訪問crateDB

的另一種方式,我試圖連接到通過Apache鑽頭箱用的是存儲配置:

{
類型: 「JDBC」,
啓用:真,
司機: 「io.crate.client .jdbc.CrateDriver」
URL: 「JDBC:板條箱://本地主機:5432 /」
}

和罐子: 板條箱-JDBC-1.9.1.jar和crate- jdbc-standalone-2.2.0.jar

這對我也不起作用。

+0

我很樂意探索這個更深入的,並幫助調試。您是否嘗試使用我們的JDBC驅動程序?什麼是錯誤信息?我是CrateDB社區閒置頻道的'jodok.crate' https://crate.io/docs/support/slackin/ –

+0

嘿jodok,謝謝你的回覆。 Apache鑽取接受以下格式的PostgreSQL存儲插件:{ type:「jdbc」, enabled:true, driver:「org.postgresql.Driver」, url:「jdbc:postgresql://1.2.3.4/ mydatabase「, 用戶名:」user「, 密碼:」password「 }其中as,對於crate,我們需要提供如下連接URL:jdbc:crate:// localhost:5432 /,Apache drill不能識別這個並且無法創建存儲插件。 Apache Drill發起的唯一錯誤是:請重試:錯誤(無法創建/更新存儲),日誌中沒有其他信息可用 – wingjammer1990

+0

第一種語法也應該可以工作:https://crate.io/docs/客戶端/ jdbc /#jdbc-url-format可以試試嗎? –

回答

0

通過Apache鑽使用以下配置我可以成功地連接到板條箱:

{
「類型」:

1.存儲配置通過Apache鑽(嵌入模式)連接到箱: 「JDBC」,
「司機」: 「io.crate.client.jdbc.CrateDriver」,
「URL」: 「爲jdbc:木箱://本地主機:5432 /」,
「用戶名」:「箱「,
「密碼」:空,
「使能」:真
}

  • 使用JAR箱-JDBC-獨立-2.2.0。
    添加它在鑽安裝-DIR /罐/的3rdParty
    在鑽頭安裝-DIR/CONF /鑽override.conf外接線

    drill.exec.sys.store.provider.local.path = 「箱子-JDBC-獨立-2.2.0.jar」

  • 查詢樣品:

    SELECT * FROM cratestorageplugin.doc。測試

    其中:
    cratestorageplugin:存儲插件,用於創建箱
    DOC:模式名稱
    測試:表名

    榮譽和大非常感謝箱子團隊對他們的幫助和提示 支持!

    注意:如果您的表沒有動態數據類型,則此方法可能證明是有用的。我們只能通過此連接查詢具有簡單數據類型的表。