Apache Arrow 0.9.0 (2018 年 3 月 21 日)
這是一個主要版本發佈。
下載
貢獻者
$ git shortlog -sn apache-arrow-0.8.0..apache-arrow-0.9.0
52 Wes McKinney
52 Antoine Pitrou
25 Uwe L. Korn
14 Paul Taylor
13 Kouhei Sutou
13 Phillip Cloud
9 Robert Nishihara
9 Korn, Uwe
9 Jim Crist
8 Brian Hulette
7 Philipp Moritz
6 Panchen Xue
6 yosuke shiro
5 Mitar
5 Bryan Cutler
4 siddharth
3 Adam Seibert
3 Licht-T
3 moriyoshi
2 rvernica
2 Sidd
2 Albert Shieh
1 Marco Neumann
1 Max Risuhin
1 Jin Hai
1 Jeffrey Heer
1 Jacques Nadeau
1 Ehsan Totoni
1 Dimitri Vorona
1 Chris Bartak
1 Simbarashe Nyatsanga
1 Cheng Lian
1 Viktor Gal
1 Andy Grove
1 William Paul
1 devin-petersohn
修補程式提交者
下列 Apache 提交者提交了貢獻的修補程式到儲存庫。
$ git shortlog -csn apache-arrow-0.8.0..apache-arrow-0.9.0
190 Wes McKinney
51 Uwe L. Korn
8 Philipp Moritz
7 Phillip Cloud
5 Brian Hulette
4 GitHub
4 Kouhei Sutou
3 siddharth
2 Bryan Cutler
1 Jacques Nadeau
1 Robert Nishihara
變更日誌
新功能與改進
- ARROW-1021 - [Python] 新增關於從其他 Cython 和 C++ 專案使用 pyarrow 的文件
- ARROW-1035 - [Python] 為串流柱狀反序列化新增 ASV 基準測試
- ARROW-1394 - [Plasma] 為在 GPU 上分配記憶體新增可選擴充功能
- ARROW-1463 - [JAVA] 重組 ValueVector 階層以最小化編譯時期產生的程式碼
- ARROW-1579 - [Java] 新增 Docker 化測試設定以驗證 Spark 整合
- ARROW-1580 - [Python] 在 Linux 上設定每晚建置的指示
- ARROW-1623 - [C++] 新增便利方法以從擁有其記憶體的字串建構 Buffer
- ARROW-1632 - [Python] 允許在 Table.to_pandas 中針對每個欄位進行類別轉換
- ARROW-1643 - [Python] 在 parquet.read_table 中接受 hdfs:// 前綴並嘗試連接到 HDFS
- ARROW-1705 - [Python] 從已知資料類型的字典序列建立 StructArray
- ARROW-1706 - [Python] StructArray.from_arrays 應處理可強制轉換為陣列的序列
- ARROW-1712 - [C++] 在 BinaryBuilder 中新增方法以保留值資料的空間
- ARROW-1757 - [C++] 新增 DictionaryArray::FromArrays 替代建構子,可以檢查或清理「不受信任」的索引
- ARROW-1815 - [Java] 將 MapVector 重新命名為 StructVector
- ARROW-1832 - [JS] 實作 JSON 讀取器以進行整合測試
- ARROW-1835 - [C++] 從 std::tuple 類型建立 Arrow schema
- ARROW-1861 - [Python] 修復 ASV 設定,新增開發人員指示以撰寫新的基準測試並在本機執行基準測試套件
- ARROW-1872 - [網站] 從 YAML 檔案填入目前版本的硬編碼欄位
- ARROW-1920 - 新增讀取 ORC 檔案的支援
- ARROW-1926 - [GLib] 新增 garrow_timestamp_data_type_get_unit()
- ARROW-1927 - [Plasma] 實作刪除功能
- ARROW-1929 - [C++] 將各種 Arrow 測試工具程式碼從 Parquet 移動到 Arrow 程式碼庫
- ARROW-1930 - [C++] 為 ChunkedArray 和 Column 實作 Slice
- ARROW-1931 - [C++] 由於 std::tr1 在 Visual Studio 2017 上建置失敗,導致 w4996 警告
- ARROW-1937 - [Python] 為從 Python 資料結構建構巢狀陣列的不同形式新增文件
- ARROW-1942 - [C++] 小型整數的雜湊表專門化
- ARROW-1947 - [Plasma] 變更 Client Create 和 Get 以使用 Buffers
- ARROW-1951 - 將 memcopy_threads 新增至序列化上下文
- ARROW-1962 - [Java] 將 reset() 新增至 ValueVector 介面
- ARROW-1965 - [GLib] 新增 garrow_array_builder_get_value_data_type() 和 garrow_array_builder_get_value_type()
- ARROW-1969 - [C++] 預設情況下不建置 ORC 適配器
- ARROW-1970 - [GLib] 新增 garrow_chunked_array_get_value_data_type() 和 garrow_chunked_array_get_value_type()
- ARROW-1977 - [C++] 更新 Windows 開發文件
- ARROW-1978 - [網站] 在首頁為「技術支援」頁面新增更顯眼的連結,簡化技術支援頁面
- ARROW-2004 - [C++] 在 BufferBuilder::Resize 中新增 shrink_to_fit 選項
- ARROW-2007 - [Python] 未實作 float32 的序列轉換器
- ARROW-2011 - 允許在 pyarrow 序列化中設定要使用的 pickler。
- ARROW-2012 - [GLib] 支援 “make distclean”
- ARROW-2018 - [C++] macOS 和 Homebrew 上的建置指示不完整
- ARROW-2019 - 控制 LIST 中內部向量配置的記憶體
- ARROW-2024 - [Python] 移除全域 SerializationContext 變數
- ARROW-2028 - [Python] extra_cmake_args 需要透過 shlex.split 傳遞
- ARROW-2031 - HadoopFileSystem 無法 pickle
- ARROW-2035 - [C++] 將 vendored cpplint.py 更新為 Py3 相容版本
- ARROW-2036 - NativeFile 應支援標準 IOBase 方法
- ARROW-2042 - [Plasma] 還原 plasma::Create 的 API 變更以輸出 MutableBuffer
- ARROW-2043 - [C++] 將描述從 OS X 變更為 macOS
- ARROW-2046 - [Python] 新增 PEP519 - pathlib 和類似物件的支援
- ARROW-2048 - [Python/C++] 將 Thrift pin 更新至 0.11
- ARROW-2050 - 支援
setup.py pytest
以自動擷取測試相依性 - ARROW-2052 - 統一 OwnedRef 和 ScopedRef
- ARROW-2054 - 編譯警告
- ARROW-2064 - [GLib] 將常見建置問題連結新增至安裝章節
- ARROW-2065 - 修復 SerializationContext.clone() 中的錯誤。
- ARROW-2068 - [Python] 向 Python 使用者公開 Array 的緩衝區
- ARROW-2069 - [Python] 文件說明 Plasma 尚未在 Windows 上支援
- ARROW-2071 - [Python] 減少 Travis CI 中建置的執行時間
- ARROW-2073 - [Python] 從已知資料類型的元組序列建立 StructArray
- ARROW-2076 - [Python] 顯示最慢的測試持續時間
- ARROW-2083 - 支援跳過建置
- ARROW-2084 - [C++] 支援較新的 Brotli 靜態程式庫名稱
- ARROW-2086 - [Python] 縮減 arrow_manylinux1_x86_64_base Docker 映像檔的大小
- ARROW-2087 - [Python] 3rdparty 的二進位檔未在 manylinux1 base 映像檔中剝離
- ARROW-2088 - [GLib] 新增 GArrowNumericArray
- ARROW-2089 - [GLib] 為了保持一致性,重新命名為 GARROW_TYPE_BOOLEAN
- ARROW-2090 - [Python] 將上下文管理器方法新增至 ParquetWriter
- ARROW-2093 - [Python] 可能不在 Travis CI 中測試 pytorch 序列化
- ARROW-2094 - [Python] 將工具鏈程式庫和 PROTOBUF_HOME 用於協定緩衝區
- ARROW-2095 - [C++] 預設情況下抑制 ORC EP 建置記錄
- ARROW-2096 - [C++] 關閉 Boost_DEBUG 以修剪建置輸出
- ARROW-2099 - [Python] 在 Python 綁定中支援 DictionaryArray::FromArrays
- ARROW-2107 - [GLib] 遵循 arrow::gpu::CudaIpcMemHandle API 變更
- ARROW-2108 - [Python] 更新 ASV 的指示
- ARROW-2110 - [Python] 僅在測試命令上需要 pytest-runner
- ARROW-2111 - [C++] Linting 可以更快
- ARROW-2114 - [Python] 拉取最新的 Docker manylinux1 映像檔
- ARROW-2117 - [C++] 將 clang 固定到版本 5.0
- ARROW-2118 - [Python] 改進在空檔案上呼叫 parquet.read_table 時的錯誤訊息
- ARROW-2120 - 新增對 Thirdparties 使用空 _MSVC_STATIC_LIB_SUFFIX 的可能性
- ARROW-2121 - [Python] 考慮在 pandas 序列化器中特殊處理物件陣列。
- ARROW-2123 - [JS] 升級到 TS 2.7.1
- ARROW-2132 - [Doc] 將 Plasma 儲存體的連結/提及新增至主要 README
- ARROW-2134 - [CI] 使 Travis 提交檢查更穩健
- ARROW-2137 - [Python] 讀取 Parquet 檔案時,不要列印被忽略的路徑
- ARROW-2138 - [C++] 讓 FatalLog 中止而不是退出
- ARROW-2142 - [Python] 未實作從 Numpy 結構陣列的轉換
- ARROW-2143 - [Python] 為 cp27m 提供 manylinux1 wheel
- ARROW-2146 - [GLib] 為 ChunkedArray 實作 Slice
- ARROW-2149 - [Python] 重新組織 test_convert_pandas.py
- ARROW-2154 - [Python] Buffer 上未實作 eq
- ARROW-2155 - [Python] pa.frombuffer(bytearray) 傳回不可變的 Buffer
- ARROW-2156 - [CI] 隔離 Sphinx 相依性
- ARROW-2163 - 與內建 Travis 命令分開安裝 apt 相依性,在不穩定時重試
- ARROW-2166 - [GLib] 為 Column 實作 Slice
- ARROW-2168 - [C++] 使用 jemalloc 建置工具鏈
- ARROW-2169 - [C++] MSVC 正在抱怨未捕獲的變數
- ARROW-2174 - [JS] 匯出格式和 schema 列舉
- ARROW-2176 - [C++] 擴充 DictionaryBuilder 以支援 delta 字典
- ARROW-2177 - [C++] 移除在 DecimalType 中指定負比例值的支援
- ARROW-2180 - [C++] 移除在 0.8.0 版本中已棄用的 API
- ARROW-2181 - [Python] 將 concat_tables 新增至 API 參考,新增使用文件
- ARROW-2184 - [C++] 為 FileOutputStream 新增靜態建構子,傳回 base OutputStream 的 shared_ptr
- ARROW-2185 - 從合併的提交訊息中移除 CI 指令
- ARROW-2190 - [GLib] 為 RecordBatch 新增 add/remove field 函數。
- ARROW-2191 - [C++] 僅使用特定版本的 jemalloc
- ARROW-2197 - 文件說明 “undefined symbol” 問題和解決方案
- ARROW-2198 - [Python] parquet.read_table 的文件字串具有誤導性或不正確
- ARROW-2199 - [JAVA] ARROW-2019 的後續修復。確保密度驅動容量永遠不小於 1,並在整個向量樹中傳播密度
- ARROW-2203 - [C++] StderrStream 類別
- ARROW-2204 - [C++] 使用 TLS 錯誤在 parquet-cpp clone 上建置失敗
- ARROW-2205 - [Python] 整數物件 null 的選項
- ARROW-2206 - [JS] 將 Perspective 新增為社群專案
- ARROW-2218 - [Python] PythonFile 在未給定模式時應推斷模式
- ARROW-2231 - [CI] 在 AppVeyor 上使用 clcache
- ARROW-2238 - [C++] 在 cmake 組態中偵測 clcache
- ARROW-2239 - [C++] 更新 Windows 的建置文件
- ARROW-2250 - plasma_store 程序應在 INT 和 TERM 訊號時清理
- ARROW-2252 - [Python] 從位址、大小和 base 建立緩衝區
- ARROW-2253 - [Python] 在純量值上支援 eq
- ARROW-2261 - [GLib] 無法在 GArrowBuffer 中安全地共享相同的記憶體
- ARROW-2262 - [Python] 在 pyarrow.ChunkedArray 上支援切片
- ARROW-2279 - [Python] 如果找不到 lib,則顯示更好的錯誤訊息
- ARROW-2282 - [Python] 從緩衝區建立 StringArray
- ARROW-2283 - [C++] 支援 pkg-config 偵測安裝在 /usr 中的 Arrow C++
- ARROW-2289 - [GLib] 新增 Numeric、Integer 和 FloatingPoint 資料類型
- ARROW-2291 - [C++] README 缺少 libboost-regex-dev 的指示
- ARROW-2292 - [Python] pyarrow.frombuffer 更一致/直觀的名稱
- ARROW-2309 - [C++] 使用 std::make_unsigned
- ARROW-232 - C++/Parquet:支援將 Chunked Array 作為表格的一部分寫入
- ARROW-2321 - [C++] 如果 CMAKE_INSTALL_LIBDIR 不是 $ARROW_HOME/lib,則發佈驗證腳本失敗
- ARROW-633 - [Java] 新增 FixedSizeBinary 類型的支援
- ARROW-634 - 為 FixedSizeBinary 新增整合測試
- ARROW-764 - [C++] 改善 CopyBitmap 的效能,新增基準測試
- ARROW-969 - [C++/Python] 為 RecordBatch 新增 add/remove field 函數
錯誤修復
- ARROW-1345 - [Python] 從巢狀 NumPy 陣列轉換在 int64、float32 以外的整數上失敗
- ARROW-1589 - [C++] 針對特定輸入格式進行模糊測試
- ARROW-1646 - [Python] pyarrow.array 無法處理 NumPy 純量類型
- ARROW-1856 - [Python] 在使用 PARQUET_HOME 時自動偵測 Parquet ABI 版本
- ARROW-1909 - [C++] 錯誤:在 Windows 上使用 “-DARROW_BUILD_BENCHMARKS=ON” 建置失敗
- ARROW-1912 - [網站] 將組織關係新增至 committers.html
- ARROW-1919 - 如果物件 ID 不是 20 個位元組,Plasma 會掛起
- ARROW-1924 - [Python] 帶回 pickle=True 選項以進行序列化
- ARROW-1933 - [GLib] 使用 –with-arrow-cpp-build-dir 和啟用 GPU 的 Arrow C++ 建置失敗
- ARROW-1940 - [Python] 在 pd.DataFrame 和 pa.Table 之間多次轉換後,會新增額外的中繼資料
- ARROW-1941 - Table <–> DataFrame 往返失敗
- ARROW-1943 - 處理深度巢狀列表的 setInitialCapacity()
- ARROW-1944 - FindArrow 具有錯誤的 ARROW_STATIC_LIB
- ARROW-1945 - [C++] 修復 array.h 的 doxygen 文件
- ARROW-1946 - 為十進位向量新增 API 以寫入大端資料
- ARROW-1948 - [Java] ListVector 不處理所有非空值且未設定任何值的 ipc
- ARROW-1950 - [Python] List 類型的 pandas 中繼資料中的 pandas_type 不正確
- ARROW-1953 - [JS] JavaScript 建置在 master 上已損壞
- ARROW-1958 - [Python] datetimetz 列索引的 pandas 轉換錯誤
- ARROW-1961 - [Python] 使用 flavor=’spark’ 寫入 Parquet 檔案會遺失 pandas schema 中繼資料
- ARROW-1966 - [C++] 支援 HDFS libjvm 載入中包含 jre 目錄的 JAVA_HOME 路徑
- ARROW-1971 - [Python] 將 pandas 序列化新增至預設值
- ARROW-1972 - 在不同的程序上反序列化緩衝區物件(和 pandas 資料框架)會導致區段錯誤。
- ARROW-1973 - [Python] 將具有陣列欄位的 Arrow 表格轉換為 Pandas 資料框架時發生記憶體洩漏。
- ARROW-1976 - [Python] 處理 parquet.read_table 上的 unicode pandas 欄位
- ARROW-1979 - [JS] JS 建置在 es2015:umd 測試中掛起
- ARROW-1980 - [Python]
write_to_dataset
中的競爭條件 - ARROW-1982 - [Python] 以值而不是字串傳回 parquet 統計資料 min/max
- ARROW-1991 - [GLib] 基於 Docker 的文件建置已損壞
- ARROW-1992 - [Python] 在 0.8.0 上,當字串欄位為空字串時,使用 strings_to_categoricals 的 to_pandas 崩潰
- ARROW-1997 - [Python] 使用 strings_to_categorical 的 to_pandas 失敗
- ARROW-1998 - [Python] 當資料框架為空時,Table.from_pandas 崩潰
- ARROW-1999 - [Python] from_numpy_dtype 傳回錯誤的類型
- ARROW-2000 - 當 plasma 儲存體回覆 get 請求時,重複使用檔案描述符。
- ARROW-2002 - 使用 pyarrow 下載檔案有時會引發 queue.Full 例外
- ARROW-2003 - [Python] 不要在 pandas.core.internals.make_block 中使用已棄用的 kwarg
- ARROW-2005 - [Python] Cython 檔案上的 pyflakes 警告未導致建置失敗
- ARROW-2008 - [Python] int32 NumPy 陣列的類型推斷(預期列表
) 傳回 int64,然後轉換失敗 - ARROW-2010 - [C++] 在 ORC 適配器中使用 CHECKIN 警告級別的編譯器警告
- ARROW-2017 - 使用大型 (>2**31-1) uint64 值初始化陣列失敗
- ARROW-2023 - [C++] 測試在空的 InputStream 上開啟 IPC 串流讀取器或檔案讀取器
- ARROW-2025 - [Python/C++] HDFS Client disconnect 關閉所有開啟的用戶端
- ARROW-2029 - [Python] 如果檔案已關閉,
HdfsFile.tell
會程式崩潰 - ARROW-2032 - [C++] ORC ep 在每次呼叫 ninja build 時都會安裝(即使沒有工作要做)
- ARROW-2033 - pa.array() 不適用於迭代器
- ARROW-2039 - [Python] pyarrow.Buffer().to_pybytes() 區段錯誤
- ARROW-2040 - [Python] 反序列化的 Numpy 陣列必須保留對底層張量的引用
- ARROW-2047 - [Python] test_serialization.py 使用 PATH 中的 Python 可執行檔,而不是用於測試執行的可執行檔
- ARROW-2049 - ARROW-2049: [Python] 使用 python -m cython 執行 Cython,而不是 CYTHON_EXECUTABLE
- ARROW-2062 - [C++] Travis CI 中 test_serialization.py 中的建置停滯
- ARROW-2070 - [Python] setup.py 中的 chdir 邏輯有錯誤
- ARROW-2072 - [Python] decimal128.byte_width 崩潰
- ARROW-2080 - [Python] 在 ARROW-2024 之後更新文件
- ARROW-2085 - 如果路徑不存在,HadoopFileSystem.isdir 和 .isfile 應傳回 False
- ARROW-2106 - [Python] pyarrow.array 無法採用 pandas Series 的 Python datetime 物件。
- ARROW-2109 - [C++] Boost 1.66 編譯在 Windows 上的連結階段失敗
- ARROW-2124 - [Python] 如果 NumPy 陣列的巢狀列表的第一個項目為空,則會引發 ArrowInvalid
- ARROW-2128 - [Python] 無法序列化空列表的陣列
- ARROW-2129 - [Python] 將空陣列轉換為 Pandas 時發生區段錯誤
- ARROW-2131 - [Python] 當程式庫已就地建置/未安裝時,Windows 上的序列化測試失敗
- ARROW-2133 - [Python] 將空的巢狀陣列轉換為 Pandas 時發生區段錯誤
- ARROW-2135 - [Python] 在 Table.from_pandas 中傳遞明確的轉換 schema 時,NaN 值靜默轉換為 int64
- ARROW-2145 - [Python] 十進位轉換不適用於 NaN 值
- ARROW-2150 - [Python] 陣列相等性預設為身分
- ARROW-2151 - [Python] 從 uint64 陣列列表轉換時發生錯誤
- ARROW-2153 - [C++/Python] 十進位轉換不適用於指數表示法
- ARROW-2157 - [Python] 十進位陣列無法從 Python 列表建構
- ARROW-2160 - [C++/Python] 修復十進位精確度推斷
- ARROW-2161 - [Python] 如果未定義 ARROW_HOME,則跳過 test_cython_api
- ARROW-2162 - [Python/C++] 精確度過高的十進位值乘以 100
- ARROW-2167 - [C++] 使用預設 BUILD_WARNING_LEVEL=Production 建置 Orc 擴充功能失敗
- ARROW-2170 - [Python] construct_metadata 在讀取未保留索引的檔案時失敗
- ARROW-2171 - [Python] OwnedRef 很脆弱
- ARROW-2172 - [Python] 當 stride % itemsize != 0 時,從 Numpy 陣列的轉換不正確
- ARROW-2173 - [Python] NumPyBuffer 解構子應持有 GIL
- ARROW-2175 - [Python] arrow_ep 建置在 Travis CI 中的 parquet-cpp 建置期間觸發
- ARROW-2178 - [JS] 修復 JS html FileReader 範例
- ARROW-2179 - [C++] libarrow-dev 中缺少 arrow/util/io-util.h
- ARROW-2192 - 對 master 的提交應在 CI 矩陣中執行所有建置
- ARROW-2209 - [Python] 分割區欄位未正確載入 ParquetDataset 的 schema 中
- ARROW-2210 - [C++] TestBuffer_ResizeOOM 在使用 jemalloc 時有記憶體洩漏
- ARROW-2212 - [C++/Python] 在 base manylinux 1 Docker 映像檔中建置 Protobuf
- ARROW-2223 - [JS] 安裝 umd 版本拋出錯誤
- ARROW-2227 - [Python] Table.from_pandas 不會建立 chunked_arrays。
- ARROW-2230 - [Python] 有時會擷取 JS 版本號碼
- ARROW-2232 - [Python] pyarrow.Tensor 建構子區段錯誤
- ARROW-2234 - [JS] 將時間戳記低位元讀取為 Uint32
- ARROW-2240 - [Python] 使用前導 numpy nan 初始化陣列會因例外而失敗
- ARROW-2244 - [C++] 切片 NullArray 不應導致內部資料上的 null 計數未知
- ARROW-2245 - [Python] 還原 manylinux1 wheel 中 parquet-cpp 的靜態連結
- ARROW-2246 - [Python] 在 manylinux1 套件中使用命名空間的 boost
- ARROW-2251 - [GLib] 銷毀 GArrowBuffer,同時 GArrowTensor 使用緩衝區會導致崩潰
- ARROW-2254 - [Python] 本機就地開發版本擷取 JS 標籤
- ARROW-2258 - [C++] Appveyor 建置在 master 上失敗
- ARROW-2263 - [Python] 如果 pyarrow 不在匯入路徑中(例如,使用就地建置),則 test_cython.py 失敗
- ARROW-2265 - [Python] 序列化 np.ndarray 的子類別會傳回 np.ndarray。
- ARROW-2268 - 從發佈程序中移除 MD5 總和檢查碼
- ARROW-2269 - [Python] 無法為 Python 建置 bdist_wheel
- ARROW-2270 - [Python] ForeignBuffer 不會將 Python 物件生命週期繫結到 C++ 緩衝區生命週期
- ARROW-2272 - [Python] test_plasma 垃圾訊息 /tmp
- ARROW-2275 - [C++] Buffer::mutable_data_ 成員未初始化
- ARROW-2280 - [Python] pyarrow.Array.buffers 也應包含偏移量
- ARROW-2284 - [Python] plasma_store 錯誤時的 test_plasma 錯誤
- ARROW-2288 - [Python] 切片邏輯有缺陷
- ARROW-2297 - [JS] babel-jest 未列為開發相依性
- ARROW-2304 - [C++] io-hdfs-test 中的 MultipleClients 測試在 trunk 上失敗
- ARROW-2306 - [Python] HDFS 測試失敗
- ARROW-2307 - [Python] 無法讀取包含 0 個記錄批次的 arrow 串流
- ARROW-2311 - [Python] Struct 陣列切片有缺陷
- ARROW-2312 - [JS] verify-release-candidate-sh 必須更新以包含整合測試中的 JS
- ARROW-2313 - [GLib] 發佈版本必須定義 NDEBUG
- ARROW-2316 - [C++] 還原 Buffer::mutable_data 成員以始終內聯
- ARROW-2318 - [C++] TestPlasmaStore.MultipleClientTest 在發佈版本中不穩定(掛起)
- ARROW-2320 - [C++] 供應商提供的 Boost 建置未建置 regex 程式庫