將資料匯入 JMP 是分析工作流程的核心環節,因此 JMP 18 引入了新的資料連接器,以擴展 JMP 可存取的第三方資料來源範圍。 JMP 18 允許對 ODBC 資料來源進行更詳細的配置,並簡化了跨平台與同事共享這些配置以及發佈到 JMP Live 的過程。我們將討論資料連接器,不僅包括 JMP 18 中已有的功能,還包括未來 JMP 版本中對其進行擴充的計畫。
早上好,或者無論您在一天中的哪個時間觀看這段視頻,祝您愉快。我叫尼爾‧西基爾斯基 (Neal Siekierski),是 JMP 的軟體開發人員,也是我們資料連接器專案的主要開發人員之一。今天我來這裡是為了談談資料連接器項目,它對 JMP 18 的意義,以及它在未來發展中的影響。
我們這裡有三個「C」。這就是我們希望透過 Data Connect 實現的目標。我們希望讓用戶能夠更輕鬆地連接到比以往更多的資料來源。我們也希望讓用戶能夠更方便地分享這些連線。無論是與使用相同平台(Mac 或 Windows)或不同平台的同事共享,都可以使用 JMP Live 進行共用。在為您提供更多資料來源存取權限的同時,我們也希望所有操作都能在一個統一的介面中完成。
在 JMP 18 中,我們無法實現所有這些功能,因此我們轉而專注於 ODBC。 ODBC 是 JMP 用於與遠端資料來源(例如 SQL Server 或 MySQL 等資料庫)通訊的技術。我們選擇 ODBC 是因為它本身就能存取多種類型的資料庫,因此還有提升存取更多資料庫的能力。
目前存在一些障礙,使得實現起來有些困難。這也是我們研究這個問題的原因之一。例如,我們發現的困難之一在於 SQL 程式碼。 SQL 程式碼是一種用於從資料庫取得資料的程式語言,JMP 需要產生這段程式碼,並透過 ODBC API 發送出去,才能取得結果並顯示資料。
並非所有資料庫的 SQL 程式碼都完全相同。例如,在 Postgres 資料庫中,我們從表中取得幾列資料(這裡我們以一個大型類別為例),程式碼看起來會是這樣。但同樣的查詢在 MySQL 和其他資料庫中可能看起來不一樣。你可以看到 Postgres 使用的是雙引號,MySQL 使用的是反引號,而 SQL Server 的語法又有所不同。
正因如此,JMP 需要知道它正在與哪個資料庫通訊。我們可以獲得這些資訊。但為了實際使用它,JMP 需要了解每種資料庫類型。如果 JMP 不了解某種資料庫類型,我們會提供特定的回退行為。如果回退行為有效,那就太好了。我們會盡量設定一組合理的預設值,但有時也可能無效。在這種情況下,您就無法將查詢建構器與資料來源一起使用。
另一個困難在於連接字串的使用。為了連接到資料庫,JMP 必須向 ODBC 提供一個字串,其中包含各種信息,例如連接目標、連接方式等等。一個非常簡單的連接字串如下所示。例如,我們連接的伺服器是 JMP 目前可以存取的測試機。我們稍後會看到更多相關內容。
但更重要的是,我們還有一個驅動程式。驅動程式是一種特定的軟體,它與 ODBC 連接,使您能夠存取特定的資料來源。 ODBC 本身並不了解資料來源,就像您擁有的其他軟體一樣,您無法在 Mac 和 Windows 系統上同時安裝驅動程式。即使可以,也需要下載兩個不同的版本。這是兩個不同的軟體。 ODBC 的情況也非常類似。
Actual SQL Server 是由 Actual 公司開發的 SQL Server 驅動程序,專為 Mac 系統設計。如果我有一個使用此連接字串的連接,並想與其他人共享,但他們使用的是 Windows 系統或 JMP Live,那麼他們就需要修改連接字串。
要做到這一點,他們需要知道Windows驅動程式是什麼。在這個範例中,它叫做SQL Server。我可以在我的Windows機器上運行它,而且運行良好。但是,同樣地,你必須知道資料庫是什麼。你必須知道它在每個平台上對應的驅動程序,這使得共享變得困難。
此外,不同資料庫之間需要使用 JMP 指令,需要了解相關的知識,並且連接方式和連接字串也各不相同。共享連接可能很困難,連接所有你想要的資料來源也可能很困難。
為了解決這個問題,我們在 JMP 18 中引入了內部資料連接器框架,並且在 ODBC 中也有一個專門的應用程式。
這些功能的核心思想是,我們提取了 JMP 根據連接類型在內部設定的所有選項。 SQL Server 是一組選項,Postgres 需要另一組選項。我們將所有這些選項都公開出來,並使它們都可以單獨配置。
這樣一來,即使你的資料庫在某些方面與 SQL Server 類似,但在其他方面可能有所不同,你也可以更改某個選項並使其生效。這些選項不僅僅是首選項選單中的內容,它們是可以命名的配置,然後我們可以共享這些配置。
您可以獲得一整套配置,並為其命名。這樣,每當您想要連接到特定資料庫時,都可以引用它;如果您想連接到其他地方,則可以使用另一個配置。由於它們都已命名,因此也更容易共享這些連接。
最後,你所做的那些設定可能因平台而異。我們剛才看到,驅動程式或其他設定可能需要有所不同。
如果只需要在 Mac 上執行某個程序,而在 Windows 上不執行任何程序,這是可以實現的。或者,如果你有更精細的需求,也可能可以做到。這些都是核心思路。現在我想更詳細地討論一下,但我不會透過演示來展示所有內容。
這是 JMP。如果我們進入檔案資料庫,會看到一個新的選單項目「資料連接器」。點擊它,會看到一個窗口,如果您用過查詢生成器,這個窗口應該很熟悉。點選“新建連線”,會看到一個設定清單。
這裡有幾點要注意。頂部這些配置項目都是內建的,所以它們都以 com.jmp 開頭。這些配置項由我們提供。它們對應於我們內部支援的各種資料庫,現在也以這種方式對外開放。
這些配置可能不能直接用於連線。它們不包含伺服器之類的信息,但仍然可以作為創建新配置的基礎。下面我們還可以看到其他一些配置。
其中一些是我自己創建的。但大多數並非如此。 JMP 會根據 ODBC 管理的連線(稱為 Dsns 網域來源名稱)自動建立它們。我們可以看到這裡列出的連接,以及我 Mac 上的 Dsns,其中一些也在 JMP 中顯示。
這些連接是自動建立的,這樣更容易上手。我這就關閉這個視窗。既然我已經創建了這些連接,那麼理想情況下,最簡單的操作就是點擊連接。
實際上,這樣做行不通。我們看到的是驅動程式傳回的錯誤訊息,提示我們沒有提供使用者 ID。 JMP 在轉換此配置時未能收集到該資訊。
不過,這裡給了我們一個機會。對話框建議我們建立一個新的配置,這樣我們就可以藉鏡這個配置了。添加我們需要的信息,例如用戶名和密碼。然後我們就可以嘗試連線了。所以我們點擊“是”。
這是連接器編輯器。我們稍後會詳細討論。但現在,我們先加入所需的資訊。我們需要一個密碼。之前沒有密碼。現在我們要設定一個密碼。我來填寫一下。我們還需要用戶名。方法相同。
現在我們已經填寫完畢,可以嘗試測試連線了。可以看到測試成功了。既然連接成功了,在正式連接之前,我們先保存一份副本。這樣可以避免以後重複操作的麻煩。這裡的配置說明我們已經配置好了連接,我已經儲存了。現在可以連接了。
這裡列出了一些模式。如果我選擇其中一個模式,我會看到一個表格列表。我們直接選擇「唯一正確的表」——大類表。現在最簡單的做法就是打開這個表,所以點擊「開啟表」按鈕,我們就能看到要打開的表了。太好了。
但我們也可以使用查詢建構器。我先關閉這個窗口,現在我們可以點擊查詢建構器按鈕。查詢建構器開啟後,我們會看到和之前一樣的介面。
我們可以建立查詢語句。我可以繼續逐步演示。新增一些列,執行查詢,查詢完成後,我們就能再次看到表格了。現在表格已經生成,我們也看到一切正常。假設我們再來一遍,對吧?
我們已經保存了一個連接,所以應該可以使用它了。現在斷開這個連線。我們可以繼續了。我們可以找到之前保存的那個連接。我們可以連結上,現在連線成功了,我們又能看到所有內容了。
我們再打開一下表格。既然表格已經打開了,我們可能還想用它做點別的事情。我剛才提到了共享,既可以與同事共享,也可以與 JMP Live 共享。我們先從後者開始,分享到 JMP Live。
我要發布數據表了。表格已經準備好了。點擊下一步。我們要把它發佈到我的個人空間,現在已經發布了,關閉這個窗口,然後我們打開 JMP Live。
這是我的個人空間,我要刷新一下。現在可以看到表格了,把它拉出來。等它加載完畢,現在如果你進入設置,你可以選擇用腳本刷新資料。這就是它與查詢建構器的一個區別。以前我們需要連接字串來設定刷新腳本。現在如果我們直接使用來源腳本,就會發現有些不同。
我現在不打算仔細研究這個。我只想看看它能不能運行,所以我先保存一下。我會輸入一些憑證,然後繼續。我點擊刷新。看看它是否有效。失敗了。但我們來看看原因。這裡出現了一個錯誤。這有點難理解,但重點是我們沒有指定有效的驅動程式。
讓我們來看看腳本,更詳細分析一下,找出問題所在。我們可以看到這裡有一行程式碼指定了驅動程式是開源資料庫。我們在這裡指定了一個驅動程式。但是你看,它又是一個僅適用於 Mac 的驅動程序,所以它無法正常工作也就不足為奇了。
之前,我們需要做的就是找出Windows驅動程式的名稱,把它替換到這裡,然後再試一次。但這次我不需要找出它的名稱。我要把它刪除。保存後,我們再試一次。看起來成功了,所以我重新加載它。
這裡其實沒什麼特別的。資料本身沒有變化,但我們確實看到了刷新效果。之所以有效,是因為…我們再來看看腳本。我們使用的是內建配置。我們新增了這些額外的配置項,使其與 JMP 建立的配置相符。
一般來說,每當我們發布 JMP 正式版時,我們都會設定來源腳本,以便建立與您指定的配置等效的內容。
造成差異的原因在於,我們不會直接在 pkg-config 中指定 JMP dev 的 ID,因為 JMP Live 並沒有識別這個特定的名稱。為了使其與 JMP Live 更相容,我們重新建立了一個等效的配置,首先使用 JMP Live 中已知的一個內建配置,然後在此基礎上添加其他所有內容。
這個內建功能讓一切正常運作。正如我所說,資料連接器的核心概念之一就是可以進行平台相關的配置。我們可以看到,透過這個內建配置(即Postgres的內建配置),它會自動在運行平台上找到合適的驅動程式。
在我的Mac上,它能找到真正的開源資料庫驅動程式;在Windows上,它可以找到適用於Windows的Postgres驅動程式。所有內建驅動程式都是如此。
這樣也方便了Mac和Windows之間,以及安裝了不同驅動程式的機器之間共用檔案。這就是JMP的即時運作狀態。我們回到JMP,然後就可以關閉這個視窗了。斷開連接,一切恢復原狀。以上是配置訊息,由JMP創建。
現在,如果我們想自己建立一個配置呢?我們不想透過 ODBC 管理器,讓 JMP 來取得配置,然後再在這裡顯示出來。讓我們同時看一下,更詳細地討論一下。這次我們連線到 SQL Server。這就是這裡的配置。
如果我點擊“新建”,它會讓我建立一個基於當前配置的新配置,這樣我就不必指定 SQL Server 的所有細節。我只需要指定我的連線特有的資訊。打開後,您會看到編輯器。現在我們來更詳細地看一下。
首先,我們選擇連線類型,JMP 版本為 18。這裡只有 ODBC。然後是連接的基礎配置,正如我所說,我們從內建的 SQL Server 配置開始。可以看到,這裡使用的是內建的 SQL Server 配置。具體來說,我們要用它來指定我們需要的功能。當然還有其他選項。我們可以完全從頭開始,使用 ODBC 的預設值。
我們可以指定檔案路徑。我們甚至可以指定一個配置作為基準。但通常情況下,我們預計您會使用另一個配置,所以這裡會使用這個 ID。下面是所有選項,它們被分組顯示,第一組是連接資訊。
連接目標以及您的憑證。這些資訊都包含在 ODBC 連接字串中。下方還有其他選項,因此我們可以看到各種 SQL 選項,以及僅針對底層 ODBC 層的選項。
如果我點擊這裡的“連接”,我們實際上需要建立一個連接。接下來我會填寫所需的資訊。資料庫名稱是 SQBTest。您可以看到,當我填寫完之後,這個複選框就被取消選中了。這表示我們是否正在使用從基本配置中取得的值。
無論我是否修改過,複選框都處於未選取狀態。我可以重新選中它,它會恢復到初始值。但我們確實需要它。我打算再填寫一下。
這裡我們看到的是 JMP 19 之前的共享驅動程式。我需要做這件事,所以我們快速完成。密碼在這裡。我們的伺服器,還是 jmpdev2。我們有用戶名。看看能不能連上。連接上了。但在繼續之前,我們先考慮一下這種情況。假設我實際上連接的不是 SQL Server,而是與 SQL Server 非常相似但不完全相同的伺服器。
差別在於,如果你還記得的話,SQL Server 會使用方括號。假設它像 Postgres 一樣使用雙引號。如果我們深入研究所有這些 SQL 選項,會發現很多不同的設定。但我們先來看看引號類型。你看,它目前被指定為方括號。如果我把它改成雙引號,那麼我就能滿足資料庫的需求了。
為了方便示範,SQL Server 實際上同時支援方括號和雙引號。方括號是它的原生格式,但雙引號更常用。因為它兩者都支持,所以我們接下來就來看看實際效果。先保存一下。這裡要連接我的 SQL Server。連線成功。
在查看現有表之前,我們可以先選擇一個類別。例如,如果我們使用查詢建構器,就會發現它產生的 SQL 程式碼反映了我們的選擇。
通常情況下,你會期望方括號對應方引號。但現在我們用的是雙引號。我們也可以看到這樣做是有效的。如果我執行查詢,就能得到我們的表格。再次強調,我創建的配置並非完全從零開始,而是基於基本配置。我只需要提供幾個選項,現在就建立了一個功能齊全的連接。
我甚至還能對某些行為進行一些調整,使其略有不同。現在我已經完成了所有這些努力。如果我組織中的其他人也想利用這些功能呢?正如我所示範的那樣,這些連接不僅可以與 JMP Live 共享,還可以與其他平台共享。
為此,我們這裡有一個紅色的小三角菜單。點擊它,可以看到共享連接器的選項。我這就把它調出來。您可以在左側看到我們的配置清單。這裡列出的配置不包括內建配置,因為不需要共用這些配置。
如果我們選取配置,它會顯示在右側。我雙擊了它,但我們還有這些按鈕,我可以點擊這個按鈕來移動或刪除它。點擊這個按鈕可以再次添加它。為了方便共享,我們將創建一個插件。我們將使用 JMP 的新增功能來分發這些配置,並使其易於安裝。
但因為它是一個插件,所有插件都需要一個 ID。這就是下面這個框的作用。它用於將預設名稱設定為您機器的主機名,子元件名稱反轉。我的機器位址是 mh382.mmt.com。我們將其反轉,得到 com.sas.mmt.mh302。這將是基礎配置。由於我只添加了一個配置,所以它將使用該配置的名稱。但如果我新增另一個配置,例如,那麼它將使用「資料連接器」的名稱。
但我們先把它去掉。點選儲存。它預設名稱是完整的 ID 加上 JMP 插件。但我們不需要這樣做。我們可以讓它更友善一些,所以我們把它叫做「伺服器」。實際上,我們還可以做得更好。我們不必使用這個內建名稱。我們把它取消掉。我們來更改名稱。例如,假設是“公司”,我們將使用我的用戶名。我們不會再使用這個名稱,而是會說明它對我們今年探索大會的意義。
點選儲存。我們打算把它改成一個更友善的名字。儲存後,系統會詢問是否要保留密碼。考慮到您可能不想與他人分享密碼,我們提供了一個選項,可以幫助您自動刪除密碼。在這種情況下,我們就刪除密碼吧。
你可以看到它已經保存了。我的桌面現在有了這個插件。但是現在我們該怎麼用它呢?嗯,你得把它給別人。不過這次,我不打算給別人,而是給自己用。我們切換到Windows系統。我們得快速登入一下,好了。這是JMP。我們需要找到這個插件,我的下載資料夾在這裡。現在我找到了這個插件,打開JMP,安裝它。
好了,現在我們來看看實際操作。依序選擇「檔案」、「資料庫」、「資料連接器」。我們打開配置介面。可以看到,配置在這裡。嘗試連線。連線失敗,因為登入失敗。這很正常,我們之前更改了密碼。假設我們想進一步配置,那就把密碼加回去。你可以測試一下。可以看到連線成功了。點選“確定”。可以看到連線成功了。
我們已經建立了一個 Mac 實例(聽不清楚 00:26:10)。我們把它移轉到了 Windows 系統,並且能夠連線。我們會看到所有讓這一切正常運作的配置都是一樣的。這就是共享。這就是從頭開始的配置。但這一切底層是如何運作的呢?讓我們回到 JMP。我們在 SQL Server 內建配置下看到了這些。我們還看到了我們創建的其他配置。
它們長什麼樣子?它們放在哪裡?內建配置位於 JMP 安裝目錄下的一個資料夾中,而您建立的配置則會與您的其他資料一起放在 JMP 的使用者資料區域中。在 Mac 上,我導航到使用者資料夾中的庫資料夾;在 Windows 上,則轉到「應用程式支援」和「JMP」。
這是 App Data 目錄下的一個資料夾。可以看到,除了許多其他 JMP 特有的資訊外,這裡還有一些版本相關的文件,以及 Python 相關內容。此外,還有一個資料連接器資料夾。
打開這個資料夾,可以看到所有我配置的文件,以及系統透過 ODBC 為我創建的 JMP 文件。例如,我們可以看到這個 MySQL 伺服器配置,以及一個 JMP DC 副檔名,它代表 JMP 資料連接器。除了這些 JMP DC 檔案之外,還有一個 JMPDataConnectorRegistry.JSON 檔案。它包含了所有這些信息,例如,它將 MySQL 伺服器的名稱對應到這個特定的檔案。
它也可能包含其他資訊。但我們來看看裡面是什麼。我們現在要用一個文字編輯器,抱歉,剛才那個編輯器不對。我提到了兩個非常相似的編輯器,所以我們打開這個。我們看到這裡有很多看起來像 JSL 的文本,那是因為它就是 JSL,或者更確切地說,它是 JSL 的子集。
這裡,左邊是選項名稱,右邊是它們的數值。第一行很特別,它告訴我們,我們的基準伺服器將由 com.JMP.SQLServer 來識別。我們可以看到其中有一些設定。我們可以看到,我們設定的這個伺服器是他們的資料庫,這是我們對專業版的修改。
一般來說,左側的這些選項名稱與編輯器中的內容非常接近。右側的值也與編輯器中的值類似。這裡沒有末尾的範例文字。更值得注意的是,使用者名稱和密碼這裡使用的是編碼字串。我們這樣儲存它們是為了避免直接儲存您的使用者名稱和密碼。
但 JMP 仍然能夠連接到它們,正如我所說,這就是 JSL。我們可以看到,如果我們想要添加平台特定的配置(我們已經看到了內建配置的實作),但如果我們想自己進行配置,比如說,我們想採用一個之前沒有討論過的選項:區塊獲取。啟用區塊獲取可以提高資料獲取效率,但有時它不受支援或無法正常工作。
假設它在我的 Mac 上可以正常工作,但在 Windows 上不行。我們希望它在 Windows 和 Mac 上啟用,但在其他情況下停用。像這樣將「阻止獲取」選項設定為這個 JSL 表達式的程式碼行就能達到預期效果,因為右側的所有值都只是 JSL 程式碼。
每當 JMP 載入此配置時,它都會進行評估。它會顯示“哦,是的”,在這種情況下,我們使用的是 Mac。我們將啟用區塊獲取。這就是它的工作原理。是的,JMP 本身可以使用 JSL 來處理這些。我們關閉此窗口,因為它已不再重要。
咱們就此結束吧。回到 JMP 編輯器。開啟一個腳本編輯器。這是個樣板代碼。我能做什麼呢?我可以從文件中載入配置。它將使用記憶體資料連接器。我們再來看看…我們一直在使用這個 MySQL 伺服器。這行程式碼會載入它,並提供設定資訊。然後我可以做一些事情,例如從中獲取特定值,例如我們設定的「阻止獲取」選項。
或者我可以獲得引用類型。我可以更改選項,所以我可以將引用類型設定回先前的值,也就是括號。我可以直接關閉“塊提取”功能。現在我們可以再次列印,看看它是否達到了我們想要的效果。如果我運行所有這些命令,我們會看到“塊提取”功能開啟,引用類型為雙精度浮點數。然後,在我設定之後,一切都關閉了。
這就是你可以用來操控它的一些方法。如果我們查看整個系統,就會發現所有值都不是預設值。例如,我們可以看到使用者名稱和密碼。但我們也會看到許多其他選項,其中 SQL Server 的設定也與預設值不同。所有這些都在註冊表中。這種從名稱到實際配置的對應也可以透過 JSL 存取。
這裡我有一個變數。然後我可以執行一些操作,例如取得所有可用條目。這將列出我們建立的條目以及 JMP 內建的條目。如果我們在 Windows 系統上執行此操作,我們也會看到透過外掛程式安裝的條目。我們可以取得特定條目的元資料。我們可以再次查看我們在這裡創建的配置。這將告訴我們名稱和路徑。這些是基本訊息,但它還包括類型,並且由於它是 ODBC 連接,因此也會包含驅動程式。
您也可以為 JSL 註冊配置。假設我們要編寫自己的配置,並將其命名為 MySQLServer2DC。我們新增了一個新的路徑變數。熟悉路徑變數的朋友應該知道,這個變數指向我之前展示的那個資料連接器資料夾。我可以在那裡寫入一些文字。
我們盡量簡化操作。首先,設定一下這個 MySQL 伺服器。然後,把一些類型設定恢復到原來的狀態。現在我這裡有一些配置。最後,我會按照我的路徑註冊它。名稱要和檔案名稱匹配,就像我們之前對其他檔案所做的那樣。然後是路徑。路徑。如果我運行所有這些命令,我們就可以嘗試加載它了。
接下來我們繼續之前的操作,但這次要用到這兩個物件。我們可以看到它的工作方式,它會在這裡列印出一些內容。我們甚至可以取得我們修改的值。可以看到它就在那裡。好的,所以我們再次看到了這一點,我們都可以使用 JSL 來操作配置。如果我們願意直接操作這些配置,我們可以查看它們在檔案系統中的位置,並且可以新增平台特定的配置。
我剛才講了很多內容。我們來總結一下。回到開頭。我說過,我們為這個專案設定了具體的目標。好,那我們逐一來看。第一個目標是能夠連接到更多資料來源。在 JMP 18 中,我們擴展了 ODBC 的資料來源存取範圍。我希望透過例如更改 SQL Server 的 JSON 類型,能讓大家初步了解這方面的可能性。
我們增強了與資料來源的兼容性。關於分享,我希望透過展示 JMP Live to Windows 的共享功能,能夠清楚地說明我們在這方面的能力。最後,我們實現了更統一的互動方式。這是我們之前從未實現過的。我向您展示了一個全新的介面,也展示了一些僅適用於 ODBC 的功能。需要注意的是,我們目前專注於 ODBC,並且正在為其他功能打基礎。這些功能我們將在未來推出。
談到 JMP 18.1 的未來發展方向,我們計劃進行一些小的改進,主要針對編輯器。 JMP 19 將會對編輯器進行更多增強。但我認為更重要的是,我們將推出新的連接類型。我們將把目前僅限於 ODBC 的連接方式擴展到其他類型。我想首先提到的就是 SAS。
在 JMP 18 中,我們必須移除 SAS 連線功能。但在 JMP 19 中,我們將重新引入該功能,並將其整合到資料連接器框架中。這意味著連接介面、配置編輯器以及共享配置的功能(例如透過插件)都將保持不變。此外,我們還將新增對 Amazon S3 和 Microsoft SharePoint 的連線。我認為這是用戶期待已久的功能。
有趣的是,S3 和 SharePoint 這兩個產品不會隨 JMP 一起分發。而 SAS,我們的目標是使其功能類似於 JMP 18 之前的版本。它將隨 JMP 一起分發。您將可以存取許多先前提供的 GSL 功能。
對於 S3 和 SharePoint,它們不會與 JMP 打包在一起,而是透過 JMP Marketplace 分發。你們當中有些可能聽過 JMP Marketplace。如果還沒聽說過,你可能會在探索階段的其他環節中了解它。
簡而言之,這將是向 JMP 分發擴充功能的一種方式。我們將透過這種方式分發 S3 和 SharePoint 連線功能。為了使這些擴充功能能夠與 JMP 協同工作,我們將定義一個從 JMP 公開的 Python API,該 API 可用於與所有需要整合到該連接器框架中的元件進行交互,進而連接到查詢建構器及更高級的功能。
為了實現這些功能,我們使用了該接口,也使用了現有的Python庫。這體現了Python生態系統的魅力,也是我們為改進JMP 18的Python整合所做的工作的成果。但這並非我們獨有的。
我們將公開這個接口,並編寫相關文檔,讓您不僅了解我們,還能創建新的連接類型,並將它們與 JMP 和查詢生成器整合。您可以使用所有相同的工具。
這就是我們未來要做的事。基本上就是這些了。我想再次強調,我希望我們在2018年所做的工作,不僅為我在這裡討論的這些未來改進奠定了基礎,而且本身也為我們利用ODBC所能做的事情提供了強有力的升級。
我們可以連接到更多資料來源,而且可以更輕鬆地共享這些連接。我認為未來我們能做的事情會更多,前景更加光明。我非常期待我們未來能達成的成就。最後,感謝各位的收聽,希望你們接下來的探索之旅愉快。