ArrowIPC (.arrow, .arrows, .feather, .ftr)
予備知識
-
- 登録MIMEタイプ:application/vnd.apache.arrow.file, application/vnd.apache.arrow.stream
- Arrow IPC 列データ形式
- 大規模な列データ集合を効率的にシリアル化するために使用される.
- 列形式でシリアル化されたデータの基本単位はレコードバッチと呼ばれる.
- Arrow IPC ファイル形式は,固定数のレコードバッチをシリアル化するために使用され,ランダムアクセスをサポートする.
- Arrow IPC ストリーミング形式は,任意の長さのレコードバッチのシーケンスを送信するために使用される.
- Featherバージョン2は,ディスク上でArrow IPCファイルとして表されるファイル形式である.
- Featherバージョン1はArrow IPCファイルとは異なるレガシーファイル形式である.
- Apache Software Foundationによって開発された.
- バイナリファイル形式.
- 複数の圧縮手法をサポートする.
ImportとExport
- Import["file.arrow"] はTabularオブジェクトとしてArrowIPCファイルをインポートする.
- Import["file.arrow",elem]は指定の要素をインポートする.
- Import["file.arrow",{elem,subelem1,…}] は子要素 subelemiをインポートする.これは部分的なデータインポートに役立つ.
- インポート形式は,Import["file","ArrowIPC"]またはImport["file",{"ArrowIPC",elem,…}].で指定できる.
- Export["file.arrow",expr]はTabularオブジェクトをArrowIPCファイル形式にエキスポートする.
- サポートされている式 expr は以下を含む:
-
{v1,v2,…} 1列のデータ {{v11,v12,…},{v21,v22,…},…} データの行のリスト array SparseArray,QuantityArray等の配列 dataset DatasetオブジェクトまたはTabularオブジェクト - 一般的な情報は,以下の関数ページを参照のこと.
-
Import, Export ファイルからインポートする,あるいはファイルへエキスポートする CloudImport, CloudExport クラウドオブジェクトからインポートする,あるいはクラウドオブジェクトへエキスポートする ImportString, ExportString 文字列からインポートする,あるいは文字列へエキスポートする ImportByteArray, ExportByteArray バイト配列からインポートする,あるいはバイト配列へエキスポートする
Import要素
- 一般的なImport要素:
-
"Elements" ファイル中の有効な要素とオプションのリスト "Summary" ファイルの概要 "Rules" すべての可能な要素の規則のリスト - データ表現要素:
-
"Data" 2次元配列 "Dataset" Datasetとしての表データ "Tabular" Tabularオブジェクト - Import はデフォルトで"Tabular"要素を使用する.
- "Tabular"要素の部分データインポートの部分要素は, {"Tabular",rows,cols}の形式で行と列の仕様を取ることができる.ここで,rows と cols は次のいずれかになる:
-
n n番目の行または列 -n 末尾からn番目 n;;m n 番目から m番目まで n;;m;;s n 番目から m 番目までの要素をステップ sで {n1,n2,…} 指定された行または列の ni番目 - データ記述要素:
-
"ColumnLabels" 列の名前 "ColumnTypes" 各列のデータ型の連想 "Schema" TabularSchemaオブジェクト - メタデータ要素:
-
"ColumnCount" ファイルに格納された列の数 "Dimensions" データの次元 "RowCount" ファイルに格納された行の数 "MetaInformation" メタデータ
オプション
- 一般的なImportオプション:
-
IncludeMetaInformation All インポートするためのメタデータ型 "UseMemoryMappedFile" True メモリマップトリーダーを使用するかどうか - 一般的なExportオプション:
-
"Compression" None 圧縮アルゴリズム CompressionLevel Automatic 圧縮レベル "Schema" Automatic Tabularオブジェクトの構築に使用されるスキーマ "Streamable" False Trueの場合,Arrow IPC ストリーミング形式が使用される. - "Compression"には以下の設定がサポートされている:
-
None 圧縮なし "LZ4Frame" LZ4フレーム圧縮 "ZSTD" ZSTD 圧縮
例題
すべて開くすべて閉じるスコープ (3)
Import (3)
Import要素 (14)
Importオプション (3)
IncludeMetaInformation (1)
デフォルトでは,ファイルに格納されたすべてのメタデータがインポートされ,Tabular オブジェクトに埋め込まれる: