Apache Arrow 0.7.0 (2017 年 9 月 17 日)
這是一個主要版本發佈。請閱讀發佈版本部落格文章以了解更多資訊。
下載
貢獻者
$ git shortlog -sn apache-arrow-0.6.0..apache-arrow-0.7.0
58 Wes McKinney
14 Kouhei Sutou
11 Philipp Moritz
7 Phillip Cloud
6 siddharth
5 Uwe L. Korn
2 Bryan Cutler
2 HorimotoYasuhiro
2 Laurent Goujon
2 Li Jin
2 Max Risuhin
2 fjetter
1 Antony Mayi
1 Brecht Machiels
1 Fritz Obermeyer
1 Gonzalo Ortiz
1 Jeff Reback
1 Kyle Kelley
1 Paul Taylor
1 Robert Nishihara
1 Wataru Shimizu
1 hatappi
1 mnc
1 rvernica
1 tetsutaroendo
變更日誌
新功能與改進
- ARROW-1156 - [Python] pyarrow.Array.from_pandas 應該接受 type 參數
- ARROW-1238 - [Java] 為小數點整合測試新增 JSON 讀取/寫入支援
- ARROW-1307 - [Python] 新增 pandas 序列化章節 + Feather API 到 Sphinx 文件
- ARROW-1317 - [Python] 新增設定 Hadoop CLASSPATH 的函式
- ARROW-1331 - [Java] 重構測試
- ARROW-1339 - [C++] 使用 boost::filesystem 處理平台特定的檔案路徑編碼
- ARROW-1344 - [C++] 在呼叫 Finish 後呼叫 BufferOutputStream::Write 會崩潰
- ARROW-1348 - [C++/Python] 為 Windows 新增發佈版本驗證腳本
- ARROW-1351 - 自動化更新 CHANGELOG.md 作為發佈腳本的一部分
- ARROW-1352 - [整合] 改善 producer、consumer 行的列印格式
- ARROW-1355 - 讓 arrow 可以使用 java9 建置
- ARROW-1356 - [網站] 新增新的提交者
- ARROW-1358 - 更新原始碼發佈腳本以考量新的 SHA 總和檢查碼政策
- ARROW-1359 - [Python] 新增 Parquet writer 選項以標準化欄位名稱,以便在 Spark 中使用
- ARROW-1364 - [C++] 專為 GPU 裝置記憶體設計的 IPC reader 與 writer
- ARROW-1366 - [Python] 新增從 wheels 安裝 pyarrow 時啟動 Plasma store 的指示
- ARROW-1372 - [Plasma] 支援將資料儲存在 huge pages 中
- ARROW-1376 - [C++] RecordBatchStreamReader::Open API 與 writer 不一致
- ARROW-1377 - [Python] 新增函式以協助基準測試 Parquet 掃描效能
- ARROW-1381 - [Python] 改善 SerializedPyObject.to_buffer 的效能
- ARROW-1383 - [C++] 支援 std::vector
在 builder vector append 中 - ARROW-1384 - [C++] 新增便利函式以將 record batch 序列化為 IPC message
- ARROW-1386 - [C++] 在 MSVC 建置工具鏈中取消釘選 CMake 版本
- ARROW-1387 - [C++] 設定 GPU leaf library 建置工具鏈
- ARROW-1390 - [Python] 擴展 python 序列化的測試
- ARROW-1392 - [C++] 實作 GPU buffer 的 reader 和 writer IO 介面
- ARROW-1395 - [C++] 移除自 0.5.0 及更新版本起已棄用的 API
- ARROW-1396 - [C++] 為 Schemas 新增 PrettyPrint 函式,該函式也會輸出任何字典
- ARROW-1397 - [Packaging] 使用 Docker 而非 Vagrant
- ARROW-1399 - [C++] 在 public header 中新增 CUDA 建置版本,以協助防止 ABI 衝突
- ARROW-1400 - [Python] 寫入 Parquet 時建立分割區的能力
- ARROW-1401 - [C++] 在 debug 建置中,為 RETURN_NOT_OK 中的失敗新增額外的偵錯上下文
- ARROW-1402 - [C++] 可能棄用使用 MutableBuffer 的 public API
- ARROW-1404 - [Packaging] 在 Travis CI 上建置 .deb 和 .rpm
- ARROW-1405 - [Python] 為 verbose 記憶體分配新增記錄選項
- ARROW-1406 - [Python] 強化使用者 API 以產生序列化的 schema 和 record batch messages 作為 memoryview 相容的物件
- ARROW-1408 - [C++] 重構並使 IPC 讀取/寫入 API 更一致,新增適當的棄用
- ARROW-1410 - Plasma object store 偶爾會長時間暫停
- ARROW-1412 - [Plasma] 為 put 和 get Python 物件新增更高等級的 API
- ARROW-1413 - [C++] 新增 include-what-you-use 設定
- ARROW-1415 - [GLib] 支援 date32 和 date64
- ARROW-1416 - [Format] 釐清記憶體佈局文件中的範例陣列
- ARROW-1417 - [Python] 允許將更通用的檔案系統物件傳遞至 ParquetDataset
- ARROW-1418 - [Python] 引入 SerializationContext 以註冊自訂序列化回呼
- ARROW-1419 - [GLib] 抑制 Clang 上的 sign-conversion 警告
- ARROW-1427 - [GLib] 新增 Arrow GLib 的 readme 連結
- ARROW-1428 - [C++] 將複製原始碼的步驟附加到 README.mb
- ARROW-1432 - [C++] 使用 private prefix 建置 bundled jemalloc 函式
- ARROW-1433 - [C++] 簡化 Array::Slice 的實作
- ARROW-1438 - [Plasma] 將 SerializationContext 拉取通過 PlasmaClient put 和 get
- ARROW-1441 - [Site] 將 Ruby 新增至 Flexible 區段
- ARROW-1442 - [網站] 在 /install 上新增指向 nightly conda packages 的指標
- ARROW-1447 - [C++] include-what-you-use include 清理回合
- ARROW-1448 - [Packaging] 支援將建置的 .deb 和 .rpm 上傳到 Bintray
- ARROW-1449 - 僅使用 Int128 實作 Decimal
- ARROW-1451 - [C++] 建立 arrow/io/api.h
- ARROW-1460 - [C++] 將 clang-format 升級到 LLVM 4.0
- ARROW-1462 - [GLib] 支援 time array
- ARROW-1466 - [C++] 在 arrow::PrettyPrint 中支援 DecimalArray
- ARROW-1468 - [C++] 從 std::vector 附加到 PrimitiveBuilder
- ARROW-1479 - [JS] 擴展 JavaScript 實作
- ARROW-1480 - [Python] 改善序列化 sets 的效能
- ARROW-1481 - [C++] 將 type casts 公開為可寫入預先分配記憶體的通用可呼叫物件
- ARROW-1494 - [C++] 文件說明 RecordBatch::column 傳回的 shared_ptr 需要保留
- ARROW-1499 - [Python] 考慮新增選項到 parquet.write_table,以設定最大 Spark 相容性的選項
- ARROW-1504 - [GLib] 支援 timestamp
- ARROW-1505 - [GLib] 簡化引數檢查
- ARROW-1506 - [C++] 支援 compute modules 的 pkg-config
- ARROW-1508 - C++: 在 DictionaryBuilder 中新增 FixedSizeBinaryType 的支援
- ARROW-1510 - [C++] 支援 cast
- ARROW-1511 - [C++] 棄用 arrow::MakePrimitiveArray
- ARROW-1513 - C++: 新增從 Dictionary 轉換為 plain arrays 的 cast
- ARROW-1515 - [GLib] 直接偵測版本
- ARROW-1516 - [GLib] 更新文件
- ARROW-1517 - 移除 DecimalUtil::ToString 函式中不必要的臨時變數
- ARROW-1519 - [C++] 將 DecimalUtil 函式移動到 Int128 類別的方法
- ARROW-1528 - [GLib] 解決 include 依賴性
- ARROW-1530 - [C++] 安裝 arrow/util/parallel.h
- ARROW-1551 - [網站] 0.7.0 版本更新
- ARROW-229 - [C++] 實作 primitive types 的安全 cast
- ARROW-592 - [C++] 提供 .deb 和 .rpm packages
- ARROW-594 - [Python] 提供介面將 pyarrow.Table 寫入 stream
- ARROW-695 - Decimal types 的整合測試
- ARROW-696 - [C++] 為小數點整合測試新增 JSON 讀取/寫入支援
- ARROW-759 - [Python] 實作 transient list 序列化函式,可以處理 scalars、lists、ndarrays、dicts 的混合
- ARROW-786 - [Format] 128-bit Decimals 的記憶體格式,sign bit 的處理
- ARROW-837 - [Python] 公開 buffer allocation、FixedSizeBufferWriter
- ARROW-941 - [Docs] 改善 “cold start” 整合測試指示
- ARROW-989 - [Python] 將 pyarrow.Table 寫入 FileWriter 或 StreamWriter
錯誤修正
- ARROW-12 - 將 Github 活動鏡像到 JIRA
- ARROW-1302 - C++: ${MAKE} 變數有時在較舊的 MacOS 安裝上未設定
- ARROW-1354 - [Python] Table.from_pandas 與 Mixed-Type Categories 發生 Segfault
- ARROW-1357 - [Python] 讀取多檔案 parquet 資料集時發生資料損壞
- ARROW-1363 - [C++] IPC writer 為 dictionary 而非 indices 發送 buffer 佈局
- ARROW-1365 - [Python] 移除 Python API 文件中已移除的 jemalloc_memory_pool 的使用
- ARROW-1373 - [Java] 實作 ValueVector 介面上的 get
Buffer() 方法 - ARROW-1375 - [C++] Visual Studio 2017 Appveyor 建置失敗
- ARROW-1379 - [Java] maven 依賴性問題 - 未使用和未宣告
- ARROW-1407 - Dictionaries 只能容納最多 4096 個 indices
- ARROW-1411 - [Python] Float Columns 中的 Booleans 導致 Segfault
- ARROW-1414 - [GLib] status check 後的 Cast
- ARROW-1421 - [Python] pyarrow.serialize 無法序列化 Python dict 輸入
- ARROW-1426 - [網站] 頂層頁面的 title 元素為空
- ARROW-1429 - [Python] 從 HDFS 載入具有 _metadata 的 parquet 檔案時發生錯誤
- ARROW-1430 - [Python] flake8 警告未使 CI 建置失敗
- ARROW-1434 - [C++/Python] pyarrow.Array.from_pandas 不支援 datetime64[D] arrays
- ARROW-1435 - [Python] PyArrow 未將時區資訊從 Parquet 傳播到 Python
- ARROW-1439 - [Packaging] 自動化更新 RPM build 中的 RPM
- ARROW-1443 - [Java] ArrowBuf.setBytes 與 unsliced ByteBuffers 的錯誤
- ARROW-1444 - [JAVA] BitVector.splitAndTransfer 錯誤地複製最後一個 byte
- ARROW-1446 - Python: 從 pandas dataframe 寫入超過 2^31 列會導致列數溢位錯誤
- ARROW-1450 - [Python] 如果自訂序列化處理常式失敗,則引發正確的錯誤
- ARROW-1452 - [C++] 使 UNUSED macro 名稱更唯一,使其不與第三方專案衝突
- ARROW-1453 - [Python] 為非連續 tensors 實作 WriteTensor
- ARROW-1457 - [C++] 優化 strided WriteTensor
- ARROW-1458 - [Python] 文件說明 HadoopFileSystem.mkdir 與 create_parents=False 無效
- ARROW-1459 - [Python] PyArrow 無法載入具有非 primitive types 的分割 parquet 檔案
- ARROW-1461 - [C++] 暫時停用使用 LLVM apt packages 的建置
- ARROW-1467 - [JAVA]: 修復 Nullable Value Vectors 範本中的 reset() 和 allocateNew()
- ARROW-1490 - [Java] 暫時允許 JDK9 的 Travis CI 失敗
- ARROW-1493 - [C++] 在每個 PrettyPrint 函式的結尾刷新輸出流
- ARROW-1495 - [C++] 在 RecordBatch 中儲存 boxed arrays 的 shared_ptr
- ARROW-1507 - [C++] arrow/compute/api.h 無法在沒有 arrow/array.h 的情況下使用
- ARROW-1512 - [Docs] NumericArray 沒有名為 ‘raw_data’ 的成員
- ARROW-1514 - [C++] 修復文件中的錯字
- ARROW-1527 - 修復 Travis JDK9 建置
- ARROW-1531 - [C++] 從 Decimal128 傳回 ToBytes by value
- ARROW-1532 - [Python] 引用空的 Schema 會導致 SegFault
- ARROW-407 - BitVector.copyFromSafe() 應在必要時重新分配,而不是傳回 false
- ARROW-801 - [JAVA] 以一致的方式直接存取底層 buffer 記憶體位址,而不會產生垃圾或大量的間接層