跳到內容

概觀

R arrow 套件為 R 使用者提供了對 Apache Arrow C++ 程式庫 許多功能的存取權限。arrow 的目標是為 dplyr 提供 Arrow C++ 後端,並透過熟悉的 base R 和 tidyverse 函數或 R6 類別來存取 Arrow C++ 程式庫。專用的 R 套件網站位於此處

若要瞭解更多關於 Apache Arrow 專案的資訊,請參閱父專案 Arrow Project 的文件。Arrow 專案為廣泛的資料分析任務提供功能,以快速儲存、處理和移動資料。請參閱讀取/寫入文章以瞭解關於讀取和寫入資料檔案的資訊,資料整理以瞭解如何搭配 arrow 物件使用 dplyr 語法,以及函數文件以取得 dplyr 查詢中支援函數的完整列表。

安裝

arrow 的最新版本可以從 CRAN 安裝。在大多數情況下,安裝最新版本應該可以運作,而無需任何額外的系統相依性,特別是如果您使用的是 Windows 或 macOS。

如果您在從 CRAN 安裝時遇到問題,我們提供了兩個替代安裝選項來取得最新的 arrow 版本。首先,R-universe 為最常用的作業系統提供了預先編譯的二進位檔案。1

install.packages("arrow", repos = c("https://apache.r-universe.dev", "https://cloud.r-project.org"))

其次,如果您使用 conda,則可以從 conda-forge 安裝 arrow。

conda install -c conda-forge --strict-channel-priority r-arrow

有一些特殊情況需要注意

  • 在 macOS 上,您與 Arrow 一起使用的 R 應該與您使用的機器架構相符。如果您使用的是 ARM(又名 M1、M2 等)處理器,請使用為 arm64 編譯的 R。如果您使用的是基於 Intel 的 Mac,請使用為 x86 編譯的 R。在基於 ARM 的 Mac 上使用為基於 Intel 的 Mac 編譯的 R 和 Arrow 將導致區段錯誤和崩潰。

  • 在 Linux 上,安裝過程有時可能會更複雜,因為 CRAN 沒有為 Linux 託管二進位檔案。如需更多資訊,請參閱安裝指南

  • 如果您要從原始碼編譯 arrow,請注意,從 10.0.0 版開始,arrow 需要 C++17 才能建置。這對 Windows 和 CentOS 7 產生了影響。對於 Windows 使用者來說,這表示您需要執行 4.0 或更高版本的 R。在 CentOS 7 上,這表示您需要安裝比預設系統編譯器 gcc 更新的編譯器。請參閱安裝詳細資訊文章以取得指南。

  • arrow 的開發版本每晚發布。如需關於如何安裝每晚建置版本的資訊,請參閱安裝每晚建置版本文章。

arrow 套件可以做什麼?

Arrow C++ 程式庫由不同的部分組成,每個部分都有特定的用途。arrow 套件為廣泛的資料分析任務提供了 C++ 功能的綁定。

它允許使用者以各種格式讀取和寫入資料

  • 讀取和寫入 Parquet 檔案,一種高效且廣泛使用的欄狀格式
  • 讀取和寫入 Arrow(以前稱為 Feather)檔案,一種針對速度和互操作性最佳化的格式
  • 以極佳的速度和效率讀取和寫入 CSV 檔案
  • 讀取和寫入多檔案和超出記憶體容量的資料集
  • 讀取 JSON 檔案

它提供了對遠端檔案系統和伺服器的存取

  • 讀取和寫入 Amazon S3 和 Google Cloud Storage 儲存桶中的檔案
  • 連線到 Arrow Flight 伺服器以透過網路傳輸大型資料集

其他功能包括

  • 使用 dplyr 動詞操作和分析 Arrow 資料
  • R 和 Python 之間的零複製資料共享
  • 精細控制欄類型,以便與資料庫和資料倉儲無縫協作
  • 用於建構連接器以連接到其他使用 Arrow 的應用程式和服務的工具組

什麼是 Apache Arrow?

Apache Arrow 是一個跨語言開發平台,適用於記憶體內和超出記憶體容量的資料。它為平面和階層式資料指定了標準化的、語言獨立的欄狀記憶體格式,旨在為了在現代硬體上進行高效的分析操作而組織。它還提供計算程式庫以及零複製串流、訊息傳遞和跨程序通訊。

此套件公開了 Arrow C++ 程式庫的介面,使 R 能夠存取其許多功能。它提供了對 Arrow C++ 程式庫 API 的低階存取,以及透過 dplyr 後端和熟悉的 R 函數進行的高階存取。

Arrow 資源

這裡有一些您可能會覺得有用的額外資源,可幫助您開始使用 arrow

取得協助

我們歡迎 arrow 套件使用者的提問、討論和貢獻。如需關於郵寄清單和其他與 Arrow 開發者和使用者社群互動的管道的資訊,請參閱 Apache Arrow 社群頁面。

如果您遇到錯誤,請在 GitHub issues 上提交包含最小可重現範例的問題。登入您的 GitHub 帳戶,點擊New issue,然後選擇您要建立的問題類型。新增一個有意義的標題,以 [R] 作為前綴,後跟一個空格、問題摘要,然後從下拉式清單中選擇元件 R。如需更多資訊,請參閱 Arrow 開發者文件中的 Contributing to Apache Arrow 頁面的Report bugs and propose features 章節。

行為準則

請注意,所有參與 Apache Arrow 專案的行為均受 Apache 軟體基金會的 行為準則 管轄。