2017-04-20 97 views
0

我得到了.xdf文件的一些問題:微軟[R .xdf文件

  1. 是什麼exacly?
  2. 這種類型的文件是如何工作的?
  3. Microsoft R如何使用這種類型的文件?
  4. data.frames的優點是什麼?

我真的很期待你的回答。

問候R123456789

+0

也許閱讀說明書? https://msdn.microsoft.com/en-us/microsoft-r/scaler-user-guide-data-import – zx8754

+0

我已經閱讀過這篇文章,但是手冊沒有回答我的問題。這些問題對我來說是非常重要的,可以幫助我理解Microsoft R的編程。 – user43348044

+0

該鏈接可以回答所有問題,** 1。**它是一個壓縮數據文件。 ** 2,3。**使用包輸出/輸入功能。 ** 4。**與數據框不同,它不在內存上。 – zx8754

回答

5
  1. 的XDF文件是壓縮的用戶可選擇水平的壓縮二進制文件格式,一些快速的事實可以在這裏找到:https://support.microsoft.com/en-us/help/3104260/qa-what-is-the-.xdf-file-format XDF文件有兩種形式,獨立和複合材料。對於獨立的XDF文件,您將看到一個文件存儲在擴展名爲.xdf的磁盤上。對於Composite,XDF文件由包含元數據和數據子目錄的目錄表示。此外,對於複合,其中的目錄中的元數據和數據文件將被拆分並分別壓縮爲XDF零件文件。

  • 這是微軟R服務器內部的專有實現,我可以擴大這個答案,但我需要改進的問題,「請問這個類型文件工作?「

  • 的XDF文件被存儲在盤上和在存儲器不坐。調用RxXdfData()或rxImport()的Microsoft R Server將讀取XDF文件並對其進行解壓縮,然後將其作爲數據框插入到內存中。許多Microsoft R「rx」函數可以直接將XDF作爲數據源或接收器,並根據需要管理將內容讀入內存。

  • 使用XDF作爲數據源/接收器的優點在於,不需要將整個文件緩衝到存儲器中的Microsoft R服務器與它的工作。它允許部分讀取和寫入,以及通過壓縮對磁盤空間進行其他優化。由於元數據用於索引XDF,因此它的運行速度比從平面文件讀取/寫入要快。缺點主要是性能,在所有情況下,內存數據(data.frames)將比磁盤上的數據操作更快。

  • 注:與所有的文件,當文件從存儲器寫入到磁盤底層操作系統的控制。爲了您的問題,可以假定XDF文件作爲標準文件駐留在磁盤上。

    +1

    當使用像RxOdbc或RxSqlServerData這樣的數據源,並將其直接傳遞給像rxLinMod或rxLogit這樣的函數時,是否會在內存中創建一個XDF文件並將其直接傳遞給其他函數?數據移動和性能的正確心智模式是什麼? –

    +1

    這不會在內存中創建XDF,因爲在本質上,XDF被壓縮並保留在磁盤上進行存儲。創建遠程上下文數據對象,然後調用該對象的算法時,根據算法的要求從數據源讀取數據行,並將其保存在內存中作爲要在其上運行的C++對象。這些中間對象是Microsoft R Server專有的。該內存由MRS工作進程「BxlServer」進程擁有。它不是在R中被抽象爲數據類型。在中間操作中,R客戶端無法訪問此中間數據​​。 –

    +1

    這意味着R服務器只執行算法請求的數據並將其存儲在內存中。在操作之後,內存將被刪除或保存在磁盤上以用於以下算法,這些算法也需要數據? – user43348044